Mos.ru Site Title
Официальный сайт Мэра Москвы
Mos.ru Meta Description
Новости о Москве и для Москвы из первых уст. Городские услуги, события и советы по самым актуальным вопросам — всё о столице на одном портале. Официальный сайт Мэра Москвы
Mos.ru Test Results
Mos.ru Mobile Performance: 29/100
These suggestions can help your page load faster. They don't directly affect the Performance score.
Avoid multiple page redirects. Potential savings of 1,110 ms
Redirects introduce additional delays before the page can be loaded. Learn more.
Enable text compression. Potential savings of 117 KiB
Text-based resources should be served with compression (gzip, deflate or brotli) to minimize total network bytes. Learn more.
Serve images in next-gen formats. Potential savings of 110 KiB
Image formats like JPEG 2000, JPEG XR, and WebP often provide better compression than PNG or JPEG, which means faster downloads and less data consumption. Learn more.
Remove unused CSS. Potential savings of 59 KiB
Remove dead rules from stylesheets and defer the loading of CSS not used for above-the-fold content to reduce unnecessary bytes consumed by network activity. Learn more.
Reduce initial server response time. Root document took 930 ms
Keep the server response time for the main document short because all other requests depend on it. Learn more.
Defer offscreen images. Potential savings of 34 KiB
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. Learn more.
Eliminate render-blocking resources. Potential savings of 180 ms
Resources are blocking the first paint of your page. Consider delivering critical JS/CSS inline and deferring all non-critical JS/styles. Learn more.
More information about the performance of your application. These numbers don't directly affect the Performance score.
Minimize main-thread work
Consider reducing the time spent parsing, compiling and executing JS. You may find delivering smaller JS payloads helps with this. Learn more
For users on slow connections, external scripts dynamically injected via `document.write()` can delay page load by tens of seconds. Learn more.
Reduce the impact of third-party code
Third-party code blocked the main thread for 2,650 ms
Third-party code can significantly impact load performance. Limit the number of redundant third-party providers and try to load third-party code after your page has primarily finished loading. Learn more.
Does not use passive listeners to improve scrolling performance
Consider marking your touch and wheel event listeners as `passive` to improve your page's scroll performance. Learn more.
Consider reducing the time spent parsing, compiling, and executing JS. You may find delivering smaller JS payloads helps with this. Learn more.
Serve static assets with an efficient cache policy
50 resources found
A long cache lifetime can speed up repeat visits to your page. Learn more.
Avoid enormous network payloads
Total size was 5,103 KiB
Large network payloads cost users real money and are highly correlated with long load times. Learn more.
Avoid large layout shifts
5 elements found
These DOM elements contribute most to the CLS of the page.
Avoid long main-thread tasks
20 long tasks found
Lists the longest tasks on the main thread, useful for identifying worst contributors to input delay. Learn more
Largest Contentful Paint element
1 element found
This is the largest contentful element painted within the viewport. Learn More
Keep request counts low and transfer sizes small
176 requests • 5,103 KiB
To set budgets for the quantity and size of page resources, add a budget.json file. Learn more.
User Timing marks and measures
4,372 user timings
Consider instrumenting your app with the User Timing API to measure your app's real-world performance during key user experiences. Learn more.
Avoid chaining critical requests
30 chains found
The Critical Request Chains below show you what resources are loaded with a high priority. Consider reducing the length of chains, reducing the download size of resources, or deferring the download of unnecessary resources to improve page load. Learn more.
Mos.ru Mobile SEO: 89/100
Content Best Practices
Format your HTML in a way that enables crawlers to better understand your app’s content.
Make sure your pages are mobile friendly so users don’t have to pinch or zoom in order to read the content pages. Learn more.
Tap targets are not sized appropriately
55% appropriately sized tap targets
Interactive elements like buttons and links should be large enough (48x48px), and have enough space around them, to be easy enough to tap without overlapping onto other elements. Learn more.
Mos.ru Mobile Best Practices: 62/100
Trust and Safety
Links to cross-origin destinations are unsafe
Add `rel="noopener"` or `rel="noreferrer"` to any external links to improve performance and prevent security vulnerabilities. Learn more.
Does not use HTTPS
1 insecure request found
All sites should be protected with HTTPS, even ones that don't handle sensitive data. This includes avoiding mixed content, where some resources are loaded over HTTP despite the initial request being servedover HTTPS. HTTPS prevents intruders from tampering with or passively listening in on the communications between your app and your users, and is a prerequisite for HTTP/2 and many new web platform APIs. Learn more.
Requests the notification permission on page load
Users are mistrustful of or confused by sites that request to send notifications without context. Consider tying the request to user gestures instead. Learn more.
Mos.ru Mobile Progressive Web App: 25/100
Fast and reliable
Page load is not fast enough on mobile networks
Interactive at 28.8 s
A fast page load over a cellular network ensures a good mobile user experience. Learn more. Your page loads too slowly and is not interactive within 10 seconds. Look at the opportunities and diagnostics in the "Performance" section to learn how to improve.
`start_url` does not respond with a 200 when offline
A service worker enables your web app to be reliable in unpredictable network conditions. Learn more. No usable web app manifest found on page.
Current page does not respond with a 200 when offline
If you're building a Progressive Web App, consider using a service worker so that your app can work offline. Learn more.
Does not set a theme color for the address bar.
The browser address bar can be themed to match your site. Learn more. Failures: No manifest was fetched, No `<meta name="theme-color">` tag found.
Is not configured for a custom splash screen
A themed splash screen ensures a high-quality experience when users launch your app from their homescreens. Learn more. Failures: No manifest was fetched.
Manifest doesn't have a maskable icon
A maskable icon ensures that the image fills the entire shape without being letterboxed when installing the app on a device. Learn more. No manifest was fetched
Does not use HTTPS
1 insecure request found
Does not register a service worker that controls page and `start_url`
The service worker is the technology that enables your app to use many Progressive Web App features, such as offline, add to homescreen, and push notifications. Learn more. This page is controlled by a service worker, however no `start_url` was found because no manifest was fetched.
Web app manifest does not meet the installability requirements
Browsers can proactively prompt users to add your app to their homescreen, which can lead to higher engagement. Learn more. Failures: No manifest was fetched.
Mos.ru Mobile Accessibility: 62/100
These are opportunities to improve the usage of ARIA in your application which may enhance the experience for users of assistive technology, like a screen reader.
`[aria-*]` attributes do not match their roles
Each ARIA `role` supports a specific subset of `aria-*` attributes. Mismatching these invalidates the `aria-*` attributes. Learn more.
ARIA IDs are not unique
The value of an ARIA ID must be unique to prevent other instances from being overlooked by assistive technologies. Learn more.
These are opportunities to improve keyboard navigation in your application.
The page does not contain a heading, skip link, or landmark region
Adding ways to bypass repetitive content lets keyboard users navigate the page more efficiently. Learn more.
`[id]` attributes on active, focusable elements are not unique
All focusable elements must have a unique `id` to ensure that they're visible to assistive technologies. Learn more.
Names and labels
These are opportunities to improve the semantics of the controls in your application. This may enhance the experience for users of assistive technology, like a screen reader.
`<frame>` or `<iframe>` elements do not have a title
Screen reader users rely on frame titles to describe the contents of frames. Learn more.
Form elements do not have associated labels
Labels ensure that form controls are announced properly by assistive technologies, like screen readers. Learn more.
Image elements do not have `[alt]` attributes
Informative elements should aim for short, descriptive alternate text. Decorative elements can be ignored with an empty alt attribute. Learn more.
Links do not have a discernible name
Link text (and alternate text for images, when used as links) that is discernible, unique, and focusable improves the navigation experience for screen reader users. Learn more.
Buttons do not have an accessible name
When a button doesn't have an accessible name, screen readers announce it as "button", making it unusable for users who rely on screen readers. Learn more.
These are opportunities to improve the legibility of your content.