{"id":496786,"date":"2026-09-30T17:52:44","date_gmt":"2026-09-30T17:52:44","guid":{"rendered":"https:\/\/savepearlharbor.com\/?p=496786"},"modified":"-0001-11-30T00:00:00","modified_gmt":"2026-09-30T17:52:44","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=496786","title":{"rendered":"Timeout 25 \u0438\u0437 25 \u043f\u0440\u0438 concurrency 5: \u0437\u0430\u043c\u0435\u0440\u0438\u043b \u043f\u0440\u0438\u0433\u043e\u0434\u043d\u043e\u0441\u0442\u044c \u0441\u0432\u043e\u0435\u0433\u043e \u0441\u0430\u0439\u0442\u0430 \u043a \u0446\u0438\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u0434\u043e \u0438 \u043f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0435\u0435\u0437\u0434\u0430"},"content":{"rendered":"<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>4 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f 2026 \u044f \u043f\u0440\u043e\u0433\u043d\u0430\u043b \u0441\u0432\u043e\u0439 \u0441\u0430\u0439\u0442 \u043d\u0430 \u043f\u0440\u0438\u0433\u043e\u0434\u043d\u043e\u0441\u0442\u044c \u043a \u0446\u0438\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u0418\u0418-\u043f\u043e\u0438\u0441\u043a\u043e\u0432\u0438\u043a\u0430\u043c\u0438, \u0442\u043e\u0433\u0434\u0430 \u043e\u043d \u0431\u044b\u043b \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c HTML. 27 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f, \u0447\u0435\u0440\u0435\u0437 \u0441\u0443\u0442\u043a\u0438 \u043f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0435\u0435\u0437\u0434\u0430 \u043d\u0430 WordPress \u0441 \u043f\u043e\u043a\u0443\u043f\u043d\u043e\u0439 \u0442\u0435\u043c\u043e\u0439, \u043f\u0440\u043e\u0433\u043d\u0430\u043b \u0435\u0449\u0451 \u0440\u0430\u0437. \u0412\u043e \u0432\u0442\u043e\u0440\u043e\u043c \u043f\u0440\u043e\u0433\u043e\u043d\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0432\u0435\u0440\u043d\u0443\u043b <code>Timeout (10s)<\/code> \u043d\u0430 \u0432\u0441\u0435\u0445 25 \u0430\u0434\u0440\u0435\u0441\u0430\u0445 \u0438\u0437 \u043a\u0430\u0440\u0442\u044b \u0441\u0430\u0439\u0442\u0430 \u0438 \u0441\u0440\u0435\u0434\u043d\u0438\u0439 \u0431\u0430\u043b\u043b \u043d\u043e\u043b\u044c, \u0445\u043e\u0442\u044f \u043e\u0434\u0438\u043d\u043e\u0447\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u043e\u0442\u0434\u0430\u0432\u0430\u043b\u0430\u0441\u044c \u0437\u0430 0,3-1,8 \u0441\u0435\u043a\u0443\u043d\u0434\u044b.<\/p>\n<p>\u0421 \u044d\u0442\u043e\u0433\u043e \u0438 \u043d\u0430\u0447\u043d\u0443. \u0421\u0432\u043e\u0434\u043d\u044b\u0435 \u0431\u0430\u043b\u043b\u044b \u043f\u043e \u0441\u0432\u043e\u0435\u0439 \u0448\u043a\u0430\u043b\u0435 \u0443 \u043c\u0435\u043d\u044f \u0442\u043e\u0436\u0435 \u0435\u0441\u0442\u044c, 56 \u0438 52, \u043d\u043e \u0432\u0435\u0441\u043e\u0432 \u044d\u0442\u043e\u0439 \u0448\u043a\u0430\u043b\u044b \u0443 \u0432\u0430\u0441 \u043d\u0435\u0442, \u0430 \u043e\u0434\u0438\u043d \u0435\u0451 \u0431\u043b\u043e\u043a \u044f \u043c\u0435\u0436\u0434\u0443 \u043f\u0440\u043e\u0433\u043e\u043d\u0430\u043c\u0438 \u043f\u0440\u0430\u0432\u0438\u043b: \u043a\u0430\u043a \u0434\u0435\u043b\u044c\u0442\u0443 \u0441\u0430\u0439\u0442\u0430 \u044d\u0442\u0438 \u0434\u0432\u0430 \u0447\u0438\u0441\u043b\u0430 \u0447\u0438\u0442\u0430\u0442\u044c \u043d\u0435\u043b\u044c\u0437\u044f, \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u0437\u0430\u043c\u0435\u0440\u0430 48,5-52. \u0412\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u043c\u0430\u044f \u0446\u0438\u0444\u0440\u0430 \u0437\u0434\u0435\u0441\u044c \u0434\u0440\u0443\u0433\u0430\u044f, \u0441\u0440\u0435\u0434\u043d\u0438\u0439 per-page \u0431\u0430\u043b\u043b \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 \u043f\u043e 25 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\u043c: 74,4. \u041e\u043d\u0430 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 <code>geo audit --sitemap<\/code> \u0438\u0437 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0430.<\/p>\n<p>\u041c\u0430\u0441\u0448\u0442\u0430\u0431, \u0447\u0442\u043e\u0431\u044b \u0434\u0430\u043b\u044c\u0448\u0435 \u0431\u044b\u043b\u043e \u043a \u0447\u0435\u043c\u0443 \u043f\u0440\u0438\u0432\u044f\u0437\u044b\u0432\u0430\u0442\u044c\u0441\u044f: 1088 \u0430\u0434\u0440\u0435\u0441\u043e\u0432 \u0432 \u043a\u0430\u0440\u0442\u0435 \u0441\u0430\u0439\u0442\u0430, 501 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0432 SEO-\u043e\u0431\u0445\u043e\u0434\u0435, 918 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u0431\u043b\u043e\u0433\u0430 \u0438 682 \u0438\u0437 \u043d\u0438\u0445 \u0441 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0439 \u0434\u0430\u0442\u043e\u0439, 69 \u0434\u043e\u0447\u0435\u0440\u043d\u0438\u0445 \u0441\u0442\u0440\u0430\u043d\u0438\u0446 \u0443\u0441\u043b\u0443\u0433 \u043f\u043e \u043e\u0434\u043d\u043e\u043c\u0443 \u043a\u0430\u0440\u043a\u0430\u0441\u0443, 25 \u0430\u0434\u0440\u0435\u0441\u043e\u0432 \u0432 \u043d\u0430\u0433\u0440\u0443\u0437\u043e\u0447\u043d\u043e\u043c \u043f\u0440\u043e\u0433\u043e\u043d\u0435. \u0412 \u0437\u0430\u043c\u0435\u0440\u0435 \u0446\u0438\u0442\u0438\u0440\u0443\u0435\u043c\u043e\u0441\u0442\u0438 9 \u0441\u0442\u0440\u0430\u043d\u0438\u0446 \u0438 98 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0445 \u0431\u043b\u043e\u043a\u043e\u0432, \u0434\u0432\u0430 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u0430 \u0441\u0430\u0439\u0442\u0430, \u0438 \u0432\u0441\u0451 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0435 \u0441\u043f\u0440\u0430\u0432\u0435\u0434\u043b\u0438\u0432\u043e \u0434\u043b\u044f \u044d\u0442\u0438\u0445 \u0434\u0432\u0443\u0445 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u043e\u0432.<\/p>\n<h3>\u0427\u0435\u043c \u043c\u0435\u0440\u0438\u043b<\/h3>\n<p><code>geo-optimizer<\/code>, CLI 4.18.2. \u041f\u0430\u043a\u0435\u0442 \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0439 \u0438 \u043a\u043e \u043c\u043d\u0435 \u043d\u0438\u043a\u0430\u043a \u043d\u0435 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0441\u044f: <code>geo-optimizer-skill<\/code> \u0432 PyPI, \u0430\u0432\u0442\u043e\u0440 Juan Camilo Auriti, \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044f MIT, \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 <code>auriti-labs\/geo-optimizer-skill<\/code> \u043d\u0430 GitHub. \u0412\u0435\u0440\u0441\u0438\u044e \u0444\u0438\u043a\u0441\u0438\u0440\u0443\u044e, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u044b \u0438 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043a\u0438 \u043d\u0438\u0436\u0435 \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d\u044b \u0438\u043c\u0435\u043d\u043d\u043e \u043a 4.18.2, \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u0441\u0442\u0440\u043e\u043a\u0438 \u043f\u043e\u0435\u0434\u0443\u0442. \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u043b\u0435\u0436\u0430\u0442 \u0432 venv \u0443\u0442\u0438\u043b\u0438\u0442\u044b, \u043f\u0443\u0442\u044c \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 <code>uv tool dir<\/code>. \u0412\u044b\u0432\u043e\u0434 \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u0438\u0439, \u0445\u043e\u0442\u044f <code>--lang<\/code> \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e <code>it<\/code>: \u0444\u043b\u0430\u0433 \u0436\u0438\u0432\u0451\u0442 \u043d\u0430 \u0432\u0435\u0440\u0445\u043d\u0435\u043c \u0443\u0440\u043e\u0432\u043d\u0435, \u043d\u0435 \u0443 \u043f\u043e\u0434\u043a\u043e\u043c\u0430\u043d\u0434\u044b, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 <code>geo audit --lang en<\/code> \u043f\u0430\u0434\u0430\u0435\u0442 \u0441 \u00abNo such option\u00bb, \u0430 <code>geo --lang en audit --url ...<\/code> \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442.<\/p>\n<pre><code class=\"bash\">uv tool install \"geo-optimizer-skill[mcp]\"geo audit --url https:\/\/example.com --format jsongeo audit --sitemap https:\/\/example.com\/sitemap.xml --max-urls 25 --concurrency 1 --format json<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper\"><\/span><\/a><\/div><\/pre>\n<p>\u0411\u0430\u043b\u043b \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443, \u0438\u0437 \u0432\u043e\u0441\u044c\u043c\u0438 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0439, \u0441\u0443\u043c\u043c\u0430 \u0440\u043e\u0432\u043d\u043e 100. \u0412\u0435\u0441\u0430 \u0432 <code>models\/config.py<\/code>, \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u0430 <code>CATEGORY_MAX<\/code>: <code>robots<\/code> 18, <code>llms<\/code> 18, <code>schema<\/code> 16, <code>meta<\/code> 14, <code>content<\/code> 12, <code>brand_entity<\/code> 10, <code>signals<\/code> 6, <code>ai_discovery<\/code> 6. \u041f\u043b\u044e\u0441 \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 <code>negative_penalty<\/code>, \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0432 \u0441\u0430\u043c\u043e\u0439 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u0435 \u043d\u0435\u0442. \u041f\u0440\u043e\u0433\u043e\u043d \u0433\u043b\u0430\u0432\u043d\u043e\u0439 30.09.2026:<\/p>\n<pre><code class=\"json\">{ \"score\": 73, \"band\": \"good\",  \"score_breakdown\": {    \"robots\": 15, \"llms\": 14, \"schema\": 10, \"meta\": 14, \"content\": 12,    \"signals\": 5, \"ai_discovery\": 0, \"brand_entity\": 6, \"negative_penalty\": -3 } }<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u041e\u0442\u0441\u044e\u0434\u0430 \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u043e\u043f\u0440\u043e\u0441 \u0432\u0441\u0435\u0445, \u043a\u0442\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0443 \u0441\u0435\u0431\u044f: \u043f\u043e\u0447\u0435\u043c\u0443 \u0441\u0440\u0435\u0434\u043d\u0438\u0439 \u0431\u0430\u043b\u043b \u043f\u043e 25 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\u043c 74,4, \u0430 \u0441\u0432\u043e\u0434\u043d\u044b\u0439 \u043f\u043e \u0441\u0430\u0439\u0442\u0443 52. 74,4 \u044d\u0442\u043e \u0441\u0440\u0435\u0434\u043d\u0435\u0435 per-page \u0431\u0430\u043b\u043b\u043e\u0432 \u0438\u0437 \u0440\u0430\u0437\u0431\u0438\u0432\u043a\u0438 \u0432\u044b\u0448\u0435. 52 \u0441\u0447\u0438\u0442\u0430\u0435\u0442 \u043c\u043e\u044f \u0441\u0432\u043e\u0434\u043d\u0430\u044f \u0448\u043a\u0430\u043b\u0430 \u043f\u043e\u0432\u0435\u0440\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430, \u0441\u043e \u0441\u0432\u043e\u0438\u043c\u0438 \u0432\u0435\u0441\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u044f \u043c\u0435\u0436\u0434\u0443 \u043f\u0440\u043e\u0433\u043e\u043d\u0430\u043c\u0438 \u0435\u0449\u0451 \u0438 \u043f\u0440\u0430\u0432\u0438\u043b. \u0421\u0432\u0435\u0441\u0442\u0438 \u0438\u0445 \u0430\u0440\u0438\u0444\u043c\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0435\u043b\u044c\u0437\u044f, \u0438 \u044d\u0442\u043e \u043c\u043e\u044f \u043d\u0435\u0434\u043e\u0434\u0435\u043b\u043a\u0430: \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0441\u0447\u0438\u0442\u0430\u0435\u0442 \u043a\u0430\u043a \u0437\u0430\u044f\u0432\u043b\u0435\u043d\u043e. \u0421\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u0438\u043c\u0430\u044f \u0434\u043b\u044f \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u044f \u0446\u0438\u0444\u0440\u0430 per-page.<\/p>\n<p>\u0418 \u043d\u0438 \u043e\u0434\u043d\u0430 \u0438\u0437 \u0432\u043e\u0441\u044c\u043c\u0438 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0439 \u043d\u0435 \u0441\u0447\u0438\u0442\u0430\u0435\u0442 \u043d\u0430\u0440\u0435\u0437\u043a\u0443 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u043d\u0430 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u044b: <code>rag_chunk<\/code> \u0438 <code>context_window<\/code> \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u043f\u0435\u0447\u0430\u0442\u0430\u0435\u0442, \u043d\u043e \u0432 100 \u0431\u0430\u043b\u043b\u043e\u0432 \u043e\u043d\u0438 \u043d\u0435 \u0432\u0445\u043e\u0434\u044f\u0442. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0433\u043b\u0430\u0432\u043d\u0430\u044f \u043d\u0430\u0431\u0438\u0440\u0430\u0435\u0442 73 \u043f\u0440\u0438 \u043d\u0443\u043b\u0435\u0432\u043e\u0439 \u043f\u0440\u0438\u0433\u043e\u0434\u043d\u043e\u0441\u0442\u0438 \u043a \u0446\u0438\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u043f\u043e \u043d\u0430\u0440\u0435\u0437\u043a\u0435.<\/p>\n<h3>\u00abTimeout (10s)\u00bb \u044d\u0442\u043e \u043d\u0435 \u0442\u0430\u0439\u043c\u0430\u0443\u0442 \u043e\u0434\u043d\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430<\/h3>\n<p>\u041f\u0440\u043e\u0433\u043e\u043d \u043f\u043e \u043a\u0430\u0440\u0442\u0435 \u0441\u0430\u0439\u0442\u0430 \u043f\u0440\u0438 <code>--concurrency 5<\/code> \u0432\u0435\u0440\u043d\u0443\u043b 25 \u043e\u0442\u043a\u0430\u0437\u043e\u0432 <code>Timeout (10s)<\/code> \u0438\u0437 25 \u0430\u0434\u0440\u0435\u0441\u043e\u0432 \u0438 \u0441\u0440\u0435\u0434\u043d\u0438\u0439 \u0431\u0430\u043b\u043b \u043d\u043e\u043b\u044c. \u0422\u043e\u0442 \u0436\u0435 \u043f\u0440\u043e\u0433\u043e\u043d \u043f\u0440\u0438 <code>--concurrency 1<\/code> \u043f\u0440\u043e\u0448\u0451\u043b \u0446\u0435\u043b\u0438\u043a\u043e\u043c, \u0441\u0440\u0435\u0434\u043d\u0438\u0439 74,4. \u0414\u0435\u0441\u044f\u0442\u044c \u0441\u0435\u043a\u0443\u043d\u0434 \u043e\u0442\u0432\u0435\u0434\u0435\u043d\u044b \u043d\u0435 \u043d\u0430 \u043e\u0434\u0438\u043d \u0437\u0430\u043f\u0440\u043e\u0441, \u0430 \u043d\u0430 \u0432\u0435\u0441\u044c \u0430\u0443\u0434\u0438\u0442 \u043e\u0434\u043d\u043e\u0433\u043e \u0430\u0434\u0440\u0435\u0441\u0430:<\/p>\n<pre><code class=\"python\"># core\/batch_audit.py, \u0441\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u043esemaphore = asyncio.Semaphore(concurrency)async def _worker(url):    async with semaphore:        try:            return await asyncio.wait_for(_audit_single_url(url, ...),                                          timeout=AUDIT_TIMEOUT_SECONDS)   # = 10        except asyncio.TimeoutError:            return ... error=f\"Timeout ({AUDIT_TIMEOUT_SECONDS}s)\"<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u0421\u0431\u043e\u0440\u043a\u0443 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u0438\u0437 \u0432\u0440\u0435\u0437\u043a\u0438 \u044f \u0432\u044b\u043a\u0438\u043d\u0443\u043b, \u0432\u0430\u0436\u043d\u044b \u0441\u0435\u043c\u0430\u0444\u043e\u0440, <code>wait_for<\/code> \u0438 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 \u043b\u043e\u0433\u0435.<\/p>\n<p>\u0412\u043d\u0443\u0442\u0440\u0438 <code>_audit_single_url<\/code> \u043d\u0435 \u043e\u0434\u0438\u043d \u0437\u0430\u043f\u0440\u043e\u0441, \u0430 \u043f\u0430\u0447\u043a\u0430: \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430, <code>robots.txt<\/code>, <code>llms.txt<\/code>, <code>llms-full.txt<\/code>, <code>\/.well-known\/ai.txt<\/code>, <code>\/ai\/summary.json<\/code>, <code>\/ai\/faq.json<\/code>, <code>\/ai\/service.json<\/code>, \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438 \u0431\u043e\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0442\u044f\u043d\u0435\u0442 \u0442\u0443 \u0436\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0435\u0449\u0451 \u0448\u0435\u0441\u0442\u044c \u0440\u0430\u0437 \u043f\u043e\u0434 \u0448\u0435\u0441\u0442\u044c\u044e User-Agent, \u043f\u043b\u044e\u0441 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c. \u041f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u043d\u0430\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u043f\u044f\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432. \u041e\u0434\u0438\u043d\u043e\u0447\u043d\u044b\u0439 \u0430\u0443\u0434\u0438\u0442 \u0433\u043b\u0430\u0432\u043d\u043e\u0439 30.09: <code>audit_duration_ms: 2944<\/code> \u043f\u0440\u0438 \u043e\u0442\u0432\u0435\u0442\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0437\u0430 0,16 \u0441. \u0417\u043d\u0430\u0447\u0438\u0442 <code>--concurrency 5<\/code> \u044d\u0442\u043e \u043f\u044f\u0442\u044c \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u0445 \u043f\u0430\u0447\u0435\u043a \u043f\u043e \u043f\u044f\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u044c, \u0430 \u043d\u0435 \u043f\u044f\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432, \u0438 \u0432 \u043f\u043e\u043b\u0451\u0442\u0435 \u0434\u0435\u0440\u0436\u0438\u0442\u0441\u044f \u043f\u043e\u0440\u044f\u0434\u043a\u0430 \u0441\u0435\u043c\u0438\u0434\u0435\u0441\u044f\u0442\u0438. \u041f\u043e\u0440\u043e\u0433 \u043e\u0442\u043a\u0430\u0437\u0430 \u043b\u0435\u0436\u0438\u0442 \u043c\u0435\u0436\u0434\u0443 1 \u0438 5, \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u044f \u0435\u0433\u043e \u043d\u0435 \u0438\u0441\u043a\u0430\u043b.<\/p>\n<p>\u0414\u0430\u043b\u044c\u0448\u0435 \u044d\u0442\u043e \u043b\u043e\u0432\u0438\u0442\u0441\u044f \u0431\u0435\u0437 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430, \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c \u043d\u0430\u0434\u043e \u043c\u0435\u0434\u0438\u0430\u043d\u0443 \u0441 \u043c\u0435\u0434\u0438\u0430\u043d\u043e\u0439: \u0441\u0440\u0435\u0434\u043d\u044f\u044f \u043f\u0440\u044f\u0447\u0435\u0442 \u0432\u044b\u0431\u0440\u043e\u0441\u044b, \u0430 \u0440\u043e\u0431\u043e\u0442\u0443 \u0432\u0430\u0436\u0435\u043d \u0445\u0432\u043e\u0441\u0442. \u041e\u0433\u043e\u0432\u043e\u0440\u043a\u0430, \u0431\u0435\u0437 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0447\u0438\u0441\u043b\u0430 \u043d\u0438\u0436\u0435 \u043d\u0435 \u0447\u0438\u0442\u0430\u044e\u0442\u0441\u044f: \u043e\u043d\u0438 \u0441\u043d\u044f\u0442\u044b \u043d\u0430 25 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u0445, \u0430 \u043e\u0442\u043a\u0430\u0437\u044b \u043f\u0440\u0438\u0448\u043b\u0438 \u043d\u0430 <code>--concurrency 5<\/code>, \u0433\u0434\u0435 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0430\u0434\u0440\u0435\u0441\u043e\u0432 \u043f\u044f\u0442\u044c. \u041f\u0440\u044f\u043c\u043e \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0440\u0435\u0436\u0438\u043c\u044b \u043d\u0435\u043b\u044c\u0437\u044f, 25-\u043f\u043e\u0442\u043e\u0447\u043d\u044b\u0439 \u043f\u0440\u043e\u0433\u043e\u043d \u044d\u0442\u043e \u0441\u0430\u043c\u0430\u044f \u0431\u043b\u0438\u0437\u043a\u0430\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430\u044f \u043c\u043d\u0435 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u044f \u043f\u043e \u0447\u0438\u0441\u043b\u0443 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0432 \u043f\u043e\u043b\u0451\u0442\u0435.<\/p>\n<pre><code class=\"bash\">#!\/usr\/bin\/env bash# load.sh https:\/\/example.com 25    # \u0432\u0442\u043e\u0440\u043e\u0439 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442 \u044d\u0442\u043e \u043f\u043e\u0442\u043e\u043a\u0438, \u0430\u0434\u0440\u0435\u0441\u043e\u0432 \u0432\u0441\u0435\u0433\u0434\u0430 25SITE=\"$1\"; N=\"${2:-5}\"; UA=\"Mozilla\/5.0 (compatible; load-probe)\"locs() { curl -s \"$1\" | grep -oE '&lt;loc&gt;[^&lt;]+' | sed 's\/&lt;loc&gt;\/\/'; }# sitemap.xml \u0447\u0430\u0441\u0442\u043e \u0438\u043d\u0434\u0435\u043a\u0441: \u0435\u0441\u043b\u0438 \u0432\u043d\u0443\u0442\u0440\u0438 \u043e\u0434\u043d\u0438 .xml, \u0441\u043f\u0443\u0441\u043a\u0430\u0435\u043c\u0441\u044f \u043d\u0430 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u043d\u0438\u0436\u0435locs \"$SITE\/sitemap.xml\" &gt; lvl.txtif ! grep -qvE '\\.xml($|\\?)' lvl.txt; then  : &gt; lvl2.txt; while read -r s; do locs \"$s\" &gt;&gt; lvl2.txt; done &lt; lvl.txt  mv lvl2.txt lvl.txtfisort -u lvl.txt | head -25 &gt; urls.txtmstat() { sort -n | awk '{t[NR]=$1} END{ m=(NR%2)?t[(NR+1)\/2]:(t[NR\/2]+t[NR\/2+1])\/2  printf \"  n=%d  \u043c\u0435\u0434\u0438\u0430\u043d\u0430 %.2f s  \u043c\u0430\u043a\u0441 %.2f s\\n\", NR, m, t[NR]}'; }probe() { curl -s -o \/dev\/null -A \"$UA\" --max-time 30 -w '%{time_total}\\n' \"$1\"; }export -f probe; export UAwhile read -r u; do probe \"$u\"; done &lt; urls.txt | mstat          # \u043f\u043e \u043e\u0434\u043d\u043e\u043c\u0443xargs -P \"$N\" -I{} bash -c 'probe \"$@\"' _ {} &lt; urls.txt | mstat  # N \u043f\u043e\u0442\u043e\u043a\u043e\u0432<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<pre><code>\u043f\u043e \u043e\u0434\u043d\u043e\u043c\u0443:             n=25  \u043c\u0435\u0434\u0438\u0430\u043d\u0430 0.51 s  \u043c\u0430\u043a\u0441 0.60 s\u0442\u0435 \u0436\u0435 25 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e:  n=25  \u043c\u0435\u0434\u0438\u0430\u043d\u0430 2.57 s  \u043c\u0430\u043a\u0441 4.22 s<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u041f\u0435\u0440\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u044d\u0442\u043e\u0433\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u043c\u043e\u043b\u0447\u0430 \u043c\u0435\u0440\u0438\u043b\u0430 \u0441\u0430\u043c sitemap-\u0438\u043d\u0434\u0435\u043a\u0441: \u0443 WordPress \u043f\u043e <code>\/sitemap.xml<\/code> \u043b\u0435\u0436\u0438\u0442 \u0441\u043f\u0438\u0441\u043e\u043a \u043a\u0430\u0440\u0442, \u0430 \u043d\u0435 \u0441\u043f\u0438\u0441\u043e\u043a \u0441\u0442\u0440\u0430\u043d\u0438\u0446, \u0438 \u0432 <code>urls.txt<\/code> \u043f\u043e\u043f\u0430\u0434\u0430\u043b\u0438 \u0447\u0435\u0442\u044b\u0440\u0435 XML-\u0444\u0430\u0439\u043b\u0430 \u0432\u043c\u0435\u0441\u0442\u043e 25 HTML-\u0441\u0442\u0440\u0430\u043d\u0438\u0446. \u0415\u0441\u043b\u0438 <code>n<\/code> \u0443 \u0432\u0430\u0441 \u043c\u0435\u043d\u044c\u0448\u0435 \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u043e\u0433\u043e, \u0432\u044b \u0438\u0437\u043c\u0435\u0440\u0438\u043b\u0438 XML, \u0430 \u043d\u0435 \u0440\u0435\u043d\u0434\u0435\u0440.<\/p>\n<p>\u0427\u0438\u0441\u043b\u0430 \u0441\u043d\u044f\u0442\u044b \u0443\u0436\u0435 \u043f\u043e\u0441\u043b\u0435 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a\u044d\u0448\u0430. \u041f\u0440\u0438 <code>-P 5<\/code> \u0434\u0435\u0433\u0440\u0430\u0434\u0430\u0446\u0438\u0438 \u043d\u0435\u0442: \u043c\u0435\u0434\u0438\u0430\u043d\u0430 0,51 \u0441, \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c 1,38 \u0441, \u043a\u0430\u043a \u043f\u0440\u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u043c \u043f\u0440\u043e\u0445\u043e\u0434\u0435. \u041f\u0440\u0438 25 \u043f\u043e\u0442\u043e\u043a\u0430\u0445 \u043e\u0442\u043a\u043b\u0438\u043a \u0440\u0430\u0441\u0442\u0451\u0442 \u0432\u043f\u044f\u0442\u0435\u0440\u043e, \u0438 \u0437\u0430\u043f\u0430\u0441 \u0434\u043e \u0434\u0435\u0441\u044f\u0442\u0438\u0441\u0435\u043a\u0443\u043d\u0434\u043d\u043e\u0433\u043e \u0431\u044e\u0434\u0436\u0435\u0442\u0430 \u043c\u0435\u043d\u044c\u0448\u0435, \u0447\u0435\u043c \u043a\u0430\u0436\u0435\u0442\u0441\u044f \u043f\u043e \u043e\u0434\u0438\u043d\u043e\u0447\u043d\u043e\u043c\u0443 \u0437\u0430\u043c\u0435\u0440\u0443. \u0420\u0430\u0437\u0431\u0440\u043e\u0441 \u043c\u0435\u0436\u0434\u0443 \u043f\u0440\u043e\u0433\u043e\u043d\u0430\u043c\u0438 \u0435\u0441\u0442\u044c: \u0442\u043e\u0442 \u0436\u0435 \u0441\u043a\u0440\u0438\u043f\u0442 \u0432 \u0434\u0440\u0443\u0433\u043e\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0434\u043d\u044f \u0434\u0430\u043b 0,36 \u0438 2,46 \u0441 \u043f\u043e \u043c\u0435\u0434\u0438\u0430\u043d\u0435, \u0442\u043e \u0435\u0441\u0442\u044c \u0440\u0430\u0437\u0440\u044b\u0432 \u043c\u0435\u0436\u0434\u0443 \u0440\u0435\u0436\u0438\u043c\u0430\u043c\u0438 \u043f\u044f\u0442\u044c-\u0441\u0435\u043c\u044c \u0440\u0430\u0437.<\/p>\n<p>\u0423\u0441\u043b\u043e\u0432\u0438\u044f \u0437\u0430\u043c\u0435\u0440\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0442 \u0442\u0430\u0439\u043c\u0438\u043d\u0433\u0438: \u043e\u0434\u043d\u0430 \u043c\u0430\u0448\u0438\u043d\u0430, \u043e\u0434\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435, \u043e\u0434\u043d\u0430 \u0442\u043e\u0447\u043a\u0430 \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u044f, <code>--max-time 30<\/code>, \u043f\u043e\u0434\u043c\u0435\u043d\u0435\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0438\u043c\u044f \u0440\u043e\u0431\u043e\u0442\u0430, \u043e\u0434\u0438\u043d \u043f\u0440\u043e\u0433\u043e\u043d \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0440\u0435\u0436\u0438\u043c\u0430. \u041f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u043e\u0445\u043e\u0434 \u0438\u0434\u0451\u0442 \u043f\u0435\u0440\u0432\u044b\u043c \u0438 \u043f\u0440\u043e\u0433\u0440\u0435\u0432\u0430\u0435\u0442 \u043a\u044d\u0448, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u0435 \u0447\u0438\u0441\u043b\u0430 \u0437\u0430\u043d\u0438\u0436\u0435\u043d\u044b.<\/p>\n<h4>\u041a\u044d\u0448, \u0434\u043e\u0441\u0442\u0443\u043f \u0431\u043e\u0442\u043e\u0432 \u0438 \u0447\u0435\u0433\u043e \u044f \u043d\u0435 \u0434\u043e\u043a\u0430\u0437\u0430\u043b<\/h4>\n<p>\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438 \u0441\u043d\u0438\u043c\u0430\u044e\u0442\u0441\u044f \u043e\u0434\u043d\u043e\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439: <code>curl -sSI<\/code> \u043f\u043b\u044e\u0441 <code>grep -iE '^(cache-control|vary|age|x-cache|cf-cache-status|etag)'<\/code>. <code>max-age=0<\/code> \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u043f\u043e\u043b\u043d\u044b\u0439 \u0440\u0435\u043d\u0434\u0435\u0440 \u043d\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441, <code>Cookie<\/code> \u0432\u043d\u0443\u0442\u0440\u0438 <code>vary<\/code> \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u043a\u044d\u0448 \u043d\u0435 \u043f\u0435\u0440\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043c\u0435\u0436\u0434\u0443 \u0432\u0438\u0437\u0438\u0442\u0430\u043c\u0438, <code>age<\/code> \u0438 <code>x-cache<\/code> \u043e\u0437\u043d\u0430\u0447\u0430\u044e\u0442, \u0447\u0442\u043e \u043f\u0435\u0440\u0435\u0434 \u0441\u0430\u0439\u0442\u043e\u043c \u0441\u0442\u043e\u0438\u0442 \u0440\u0430\u0437\u0434\u0435\u043b\u044f\u0435\u043c\u044b\u0439 \u043a\u044d\u0448 \u0438 \u043e\u043d \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442.<\/p>\n<p>\u0411\u044b\u043b\u043e: <code>max-age=0<\/code>, <code>vary: Cookie<\/code>. \u0421\u0442\u0430\u043b\u043e: <code>public, max-age=300<\/code>, <code>vary: Accept-Encoding<\/code>, <code>server: Apache<\/code>, \u043e\u0442\u0432\u0435\u0442 \u0437\u0430 0,163 \u0441. \u041d\u0438 <code>age<\/code>, \u043d\u0438 <code>x-cache<\/code>, \u043d\u0438 <code>cf-*<\/code>, \u0442\u043e \u0435\u0441\u0442\u044c CDN \u043d\u0435\u0442. \u041e\u0433\u043e\u0432\u043e\u0440\u043a\u0430 \u043a\u043e \u0432\u0441\u0435\u043c\u0443 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e: \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u043e\u0432 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044c\u0441\u043a\u043e\u0439 \u0441\u0442\u0430\u0442\u0438\u043a\u0438 \u043d\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u043b\u043e\u0441\u044c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0443\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0442\u044c, \u0447\u0442\u043e \u043e\u0431\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0436\u0438\u043b\u0438 \u043d\u0430 \u043e\u0434\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435, \u044f \u0441\u0442\u0440\u043e\u0433\u043e \u043d\u0435 \u043c\u043e\u0433\u0443, \u0438 \u0447\u0430\u0441\u0442\u044c \u0434\u0435\u043b\u044c\u0442\u044b \u043f\u043e \u0442\u0430\u0439\u043c\u0438\u043d\u0433\u0430\u043c \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435\u043c \u043f\u043b\u043e\u0449\u0430\u0434\u043e\u043a, \u0430 \u043d\u0435 CMS.<\/p>\n<p>\u041e\u0442\u043a\u0440\u044b\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u0418\u0418-\u043e\u0431\u0445\u043e\u0434\u0447\u0438\u043a\u0430\u043c \u0432 <code>robots.txt<\/code> \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u044d\u0442\u043e \u0440\u0430\u0437\u043d\u044b\u0435 \u0444\u0430\u043a\u0442\u044b: \u0443 Cloudflare \u0435\u0441\u0442\u044c \u0442\u0443\u043c\u0431\u043b\u0435\u0440 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438 \u0418\u0418-\u0441\u043a\u0440\u0430\u043f\u0435\u0440\u043e\u0432, \u043e\u0442\u0434\u0430\u044e\u0449\u0438\u0439 403 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u043e\u0442 \u0444\u0430\u0439\u043b\u0430. \u0423 \u043c\u0435\u043d\u044f \u0432 \u0444\u0430\u0439\u043b\u0435 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0430\u044f \u0433\u0440\u0443\u043f\u043f\u0430 \u0441 <code>Allow: \/<\/code> \u043d\u0430 \u0434\u0435\u0441\u044f\u0442\u044c \u0430\u0433\u0435\u043d\u0442\u043e\u0432: <code>GPTBot<\/code>, <code>OAI-SearchBot<\/code>, <code>ChatGPT-User<\/code>, <code>ClaudeBot<\/code>, <code>Claude-Web<\/code>, <code>Claude-User<\/code>, <code>Claude-SearchBot<\/code>, <code>PerplexityBot<\/code>, <code>Perplexity-User<\/code>, <code>Google-Extended<\/code>. \u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f \u043f\u043e\u0434 \u0441\u0432\u043e\u0438\u043c \u043d\u0430\u0431\u043e\u0440\u043e\u043c \u0438\u0437 \u0448\u0435\u0441\u0442\u0438 \u0438\u043c\u0451\u043d: <code>GPTBot<\/code>, <code>OAI-SearchBot<\/code>, <code>PerplexityBot<\/code>, <code>Claude-SearchBot<\/code>, <code>Googlebot<\/code>, <code>Applebot<\/code>. \u041d\u0430\u0431\u043e\u0440\u044b \u043f\u0435\u0440\u0435\u0441\u0435\u043a\u0430\u044e\u0442\u0441\u044f \u0432 \u0447\u0435\u0442\u044b\u0440\u0451\u0445, <code>Googlebot<\/code> \u0438 <code>Applebot<\/code> \u0443 \u043c\u0435\u043d\u044f \u043f\u043e\u043f\u0430\u0434\u0430\u044e\u0442 \u043f\u043e\u0434 <code>User-agent: *<\/code>. \u042d\u0442\u043e \u043f\u0435\u0440\u0432\u043e\u0435, \u0447\u0442\u043e \u0441\u0442\u043e\u0438\u0442 \u0441\u0432\u0435\u0440\u0438\u0442\u044c \u0443 \u0441\u0435\u0431\u044f: \u043e\u0431\u0445\u043e\u0434\u0447\u0438\u043a \u0438 \u043f\u043e\u0438\u0441\u043a\u043e\u0432\u044b\u0439 \u0430\u0433\u0435\u043d\u0442 \u0443 \u043e\u0434\u043d\u043e\u0433\u043e \u0432\u0435\u043d\u0434\u043e\u0440\u0430 \u044d\u0442\u043e \u0440\u0430\u0437\u043d\u044b\u0435 \u0438\u043c\u0435\u043d\u0430, \u0433\u0440\u0443\u043f\u043f\u0430 \u043d\u0430 <code>ClaudeBot<\/code> \u043d\u0435 \u043f\u043e\u043a\u0440\u044b\u0432\u0430\u0435\u0442 <code>Claude-SearchBot<\/code>, \u0438 \u0442\u0430\u043a\u0438\u0435 \u043f\u0430\u0440\u044b \u043b\u0435\u0433\u043a\u043e \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c. <code>curl -A<\/code> \u043f\u043e\u0434 \u0432\u0441\u0435\u043c\u0438 \u0448\u0435\u0441\u0442\u044c\u044e \u0438\u043c\u0435\u043d\u0430\u043c\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 \u0434\u0430\u0451\u0442 <code>code=200<\/code> \u0438 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0439 \u043e\u0431\u044a\u0451\u043c \u043e\u0442\u0432\u0435\u0442\u0430, 267877 \u0431\u0430\u0439\u0442; \u0431\u043b\u043e\u043a <code>cdn_check<\/code> \u043d\u0430 \u0442\u0435\u0445 \u0436\u0435 \u0448\u0435\u0441\u0442\u0438 \u043e\u0442\u0434\u0430\u0451\u0442 <code>blocked: false<\/code> \u0438 <code>challenge_detected: false<\/code>. \u0421\u043f\u0438\u0441\u043e\u043a \u0431\u043e\u0442\u043e\u0432 \u0432 <a href=\"https:\/\/platform.openai.com\/docs\/bots\" rel=\"noopener nofollow\">\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 OpenAI<\/a>, \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \u0444\u0430\u0439\u043b\u0430 \u0432 <a href=\"https:\/\/developers.google.com\/search\/docs\/crawling-indexing\/robots\/robots_txt\" rel=\"noopener nofollow\">\u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 robots.txt<\/a>. \u041f\u043e\u0434\u043c\u0435\u043d\u0430 User-Agent \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u0441\u0438\u043d\u0442\u0435\u0442\u0438\u043a\u043e\u0439: \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0439 GPTBot \u0445\u043e\u0434\u0438\u0442 \u0438\u0437 \u0441\u0432\u043e\u0438\u0445 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u043e\u0432.<\/p>\n<p>\u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u043a\u044d\u0448\u0430 \u043e\u0431\u044a\u044f\u0441\u043d\u044f\u0435\u0442, \u043f\u043e\u0447\u0435\u043c\u0443 \u043a\u0430\u0436\u0434\u044b\u0439 \u043e\u0442\u0432\u0435\u0442 \u044d\u0442\u043e \u0440\u0435\u043d\u0434\u0435\u0440, \u043d\u043e \u043d\u0435 \u043e\u0431\u044a\u044f\u0441\u043d\u044f\u0435\u0442, \u043f\u043e\u0447\u0435\u043c\u0443 \u043f\u043e\u0434 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e\u0439 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u043e\u0439 \u0440\u0435\u043d\u0434\u0435\u0440 \u0440\u0430\u0441\u0442\u0451\u0442 \u0441 1,8 \u0434\u043e 7,6 \u0441\u0435\u043a\u0443\u043d\u0434\u044b. \u0422\u0430\u043a \u0436\u0435 \u0432\u0435\u0434\u0443\u0442 \u0441\u0435\u0431\u044f \u043d\u0435\u0445\u0432\u0430\u0442\u043a\u0430 \u0432\u043e\u0440\u043a\u0435\u0440\u043e\u0432 PHP-FPM (<code>pm.max_children<\/code>), \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044b\u0439 OPcache, \u043e\u0434\u043d\u043e \u044f\u0434\u0440\u043e, rate limit \u043d\u0430 \u043f\u0440\u043e\u043a\u0441\u0438 \u0438\u043b\u0438 WAF. \u041d\u0438 \u043e\u0434\u043d\u0443 \u0432\u0435\u0440\u0441\u0438\u044e \u044f \u043d\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u043b: \u043d\u0438 <code>pm.status<\/code>, \u043d\u0438 <code>php -i | grep opcache.enable<\/code>, \u043d\u0438 slow log \u043f\u043e\u0434 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u043e\u0439, \u043d\u0438 \u043f\u0440\u043e\u0433\u043e\u043d \u0431\u0435\u0437 Cookie. \u0412\u044b\u0432\u043e\u0434 \u00ab\u043b\u0435\u0447\u0438\u0442\u0441\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u043e\u0439 \u043a\u044d\u0448\u0430 \u0437\u0430 \u043f\u043e\u043b\u0434\u043d\u044f\u00bb \u0438\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0435 \u0441\u043b\u0435\u0434\u0443\u0435\u0442, \u043e\u043d \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0438\u0437 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u043f\u043e\u0441\u043b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0447\u0438\u0441\u043b\u0430 \u0441\u0442\u0430\u043b\u0438 \u0434\u0440\u0443\u0433\u0438\u043c\u0438. \u041f\u0440\u0438\u0447\u0438\u043d\u0443 \u044f \u043d\u0435 \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043b.<\/p>\n<h3>\u0427\u0442\u043e \u0441\u0442\u043e\u0438\u0442 \u0432 \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0435 \u0434\u043e \u043f\u0435\u0440\u0432\u043e\u0433\u043e H1<\/h3>\n<p>\u0414\u0430\u043b\u044c\u0448\u0435 \u0432\u0441\u0451 \u043d\u0430 <code>html.parser<\/code> \u0438\u0437 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438. \u041e\u0431\u0451\u0440\u0442\u043a\u0430 \u0432\u044b\u0434\u0430\u0451\u0442 \u043f\u043e\u0442\u043e\u043a \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430: \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438 \u0441 \u0443\u0440\u043e\u0432\u043d\u0435\u043c \u0438 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0435 \u0431\u043b\u043e\u043a\u0438 \u0441 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u043c \u00ab\u0432\u043d\u0443\u0442\u0440\u0438 landmark\u00bb. \u041f\u043e\u0440\u044f\u0434\u043e\u043a \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u044d\u0442\u043e \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0432 \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0435, \u0430 \u043d\u0435 \u043d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435. \u0417\u0430 landmark \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0441\u0447\u0438\u0442\u0430\u0435\u0442 \u043b\u044e\u0431\u043e\u0439 \u0438\u0437 \u0442\u0440\u0451\u0445: \u0442\u0435\u0433 <code>main<\/code>, \u0442\u0435\u0433 <code>article<\/code>, \u0430\u0442\u0440\u0438\u0431\u0443\u0442 <code>role=\"main\"<\/code>. \u0423 \u043c\u0435\u043d\u044f <code>article<\/code> \u0432 \u044d\u0442\u043e\u0442 \u043d\u0430\u0431\u043e\u0440 \u043d\u0435 \u0432\u0445\u043e\u0434\u0438\u0442, \u0430 \u0437\u0430\u043a\u0440\u044b\u0442\u0438\u0435 <code>role=\"main\"<\/code> \u043d\u0435 \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f; \u043d\u0430 \u043c\u043e\u0438\u0445 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\u0445 \u0432\u0441\u0435 <code>article<\/code> \u043b\u0435\u0436\u0430\u0442 \u0432\u043d\u0443\u0442\u0440\u0438 <code>main<\/code>, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0430 \u0447\u0438\u0441\u043b\u0430\u0445 \u044d\u0442\u043e \u043d\u0435 \u0441\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c.<\/p>\n<pre><code class=\"python\"># page.py: \u043f\u043e\u0442\u043e\u043a \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430, \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0430\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430import re, urllib.requestfrom html.parser import HTMLParserSKIP = {\"script\", \"style\", \"noscript\", \"template\", \"svg\", \"head\"}HEAD = {\"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\"}WORD = re.compile(r\"[0-9A-Za-z\u0410-\u042f\u0430-\u044f\u0401\u0451]+(?:-[0-9A-Za-z\u0410-\u042f\u0430-\u044f\u0401\u0451]+)*\")def fetch(url, timeout=20):    req = urllib.request.Request(url, headers={\"User-Agent\": \"Mozilla\/5.0 (compatible; audit)\"})    with urllib.request.urlopen(req, timeout=timeout) as r:        raw = r.read()        enc = r.headers.get_content_charset() or \"utf-8\"    return raw.decode(enc, \"replace\")class Doc(HTMLParser):    \"\"\"\u0421\u043e\u0431\u044b\u0442\u0438\u044f: ('h', \u0443\u0440\u043e\u0432\u0435\u043d\u044c, \u0442\u0435\u043a\u0441\u0442) \u0438 ('t', \u0442\u0435\u043a\u0441\u0442, \u0432\u043d\u0443\u0442\u0440\u0438_landmark).\"\"\"    def __init__(self):        super().__init__(convert_charrefs=True)        self.events, self.has_main = [], False        self._skip, self._main, self._h = 0, 0, None    def handle_starttag(self, tag, attrs):        if tag in SKIP:            self._skip += 1        elif tag == \"main\" or dict(attrs).get(\"role\") == \"main\":            self.has_main = True            self._main += 1        elif tag in HEAD:            self._h = [int(tag[1]), \"\"]    def handle_endtag(self, tag):        if tag in SKIP:            self._skip = max(0, self._skip - 1)        elif tag == \"main\":            self._main = max(0, self._main - 1)        elif tag in HEAD and self._h:            self.events.append((\"h\", self._h[0], \" \".join(self._h[1].split())))            self._h = None    def handle_data(self, data):        if self._skip or not data.strip():            return        if self._h is not None:            self._h[1] += \" \" + data        else:            self.events.append((\"t\", \" \".join(data.split()), self._main &gt; 0))def parse(url):    d = Doc()    d.feed(fetch(url))    return ddef words(s):    return WORD.findall(s.lower())<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u0418\u0434\u0451\u043c \u043f\u043e \u043f\u043e\u0442\u043e\u043a\u0443 \u0434\u043e \u043f\u0435\u0440\u0432\u043e\u0433\u043e H1 \u0438 \u0441\u0447\u0438\u0442\u0430\u0435\u043c \u0441\u043b\u043e\u0432\u0430:<\/p>\n<pre><code>https:\/\/neurounit.ai\/  \u0442\u0435\u0433 main: \u0435\u0441\u0442\u044c  H1: &lt;\u043e\u0444\u0444\u0435\u0440 \u0433\u043b\u0430\u0432\u043d\u043e\u0439, 5 \u0441\u043b\u043e\u0432&gt;  \u0441\u043b\u043e\u0432 \u0434\u043e H1: 252    (\u043d\u0430 \u0441\u0442\u0430\u0442\u0438\u043a\u0435 04.09 \u0431\u044b\u043b\u043e 354)  \u043f\u0435\u0440\u0432\u044b\u0435 15 \u0441\u043b\u043e\u0432 \u043f\u043e\u0442\u043e\u043a\u0430: \u043f\u0443\u043d\u043a\u0442\u044b \u043c\u0435\u043d\u044e, \u00ab\u0443\u0441\u043b\u0443\u0433\u0438\u00bb \u0434\u0432\u0430\u0436\u0434\u044b \u043f\u043e\u0434\u0440\u044f\u0434, \u0434\u0430\u043b\u044c\u0448\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0443\u0441\u043b\u0443\u0433docs.python.org\/3\/library\/html.parser.html  landmark: role=\"main\", \u0442\u0435\u0433\u0430 main \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u043d\u0435\u0442  \u0441\u043b\u043e\u0432 \u0434\u043e H1: 66<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u0422\u0435\u043a\u0441\u0442 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u043e\u0432 \u0432 \u0432\u044b\u0432\u043e\u0434\u0430\u0445 \u044f \u0437\u0430\u043c\u0435\u043d\u044f\u044e \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f\u043c\u0438: \u0434\u043b\u0438\u043d\u044b, \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0438 \u0447\u0438\u0441\u043b\u0430 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0435, \u0430 \u0440\u0435\u043a\u043b\u0430\u043c\u043d\u0443\u044e \u043e\u0431\u0432\u044f\u0437\u043a\u0443 \u0441\u0432\u043e\u0435\u0433\u043e \u0441\u0430\u0439\u0442\u0430 \u0446\u0438\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u044e \u043d\u0435\u0437\u0430\u0447\u0435\u043c.<\/p>\n<p>\u0422\u0440\u0438 \u043e\u0433\u043e\u0432\u043e\u0440\u043a\u0438, \u0431\u0435\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u0435 \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u0432 \u0436\u0430\u043b\u043e\u0431\u0443.<\/p>\n<p>\u041f\u0430\u0440\u0441\u0438\u0442\u0441\u044f \u0441\u044b\u0440\u043e\u0439 HTML, \u0430 \u043d\u0435 \u043e\u0442\u0440\u0435\u043d\u0434\u0435\u0440\u0435\u043d\u043d\u044b\u0439 DOM, \u0441\u043a\u0440\u044b\u0442\u044b\u0435 \u0443\u0437\u043b\u044b \u0441\u0447\u0438\u0442\u0430\u044e\u0442\u0441\u044f. \u041c\u0435\u0433\u0430-\u043c\u0435\u043d\u044e \u043e\u0442\u0440\u0435\u043d\u0434\u0435\u0440\u0435\u043d\u043e \u0447\u0435\u0442\u044b\u0440\u0435 \u0440\u0430\u0437\u0430: desktop, mobile, sticky \u0438 offcanvas, \u0438\u0437 \u043d\u0438\u0445 \u0442\u0440\u0438 \u0437\u0430\u043a\u0440\u044b\u0442\u044b <code>display:none<\/code>. \u0417\u043d\u0430\u0447\u0438\u0442 252 \u0441\u043b\u043e\u0432\u0430, \u0434\u043e\u043b\u044f \u0448\u0430\u0431\u043b\u043e\u043d\u0430 \u0438 \u0434\u043b\u0438\u043d\u0430 \u0441\u0435\u043a\u0446\u0438\u0439 \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e \u0430\u0440\u0442\u0435\u0444\u0430\u043a\u0442 \u043c\u0435\u0442\u043e\u0434\u0430. \u041a\u043e\u043d\u0442\u0440\u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442: \u0438\u0437\u0432\u043b\u0435\u043a\u0430\u0442\u0435\u043b\u044c \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u0430\u043c \u043d\u0435 \u0441\u0447\u0438\u0442\u0430\u0435\u0442 CSS, \u0432\u0438\u0434\u0438\u0442 \u0440\u043e\u0432\u043d\u043e \u044d\u0442\u043e\u0442 \u043f\u043e\u0442\u043e\u043a. \u0427\u0435\u0441\u0442\u043d\u0430\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u044d\u0442\u043e \u043f\u0440\u043e\u0433\u043e\u043d \u0447\u0435\u0440\u0435\u0437 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u0439 \u044d\u043a\u0441\u0442\u0440\u0430\u043a\u0442\u043e\u0440 \u0432\u0440\u043e\u0434\u0435 <code>trafilatura<\/code>, \u044f \u0435\u0433\u043e \u043d\u0435 \u0434\u0435\u043b\u0430\u043b.<\/p>\n<p>\u0422\u0435\u0433\u0430 <code>main<\/code> \u043d\u0435 \u0431\u044b\u043b\u043e \u043d\u0438 \u043d\u0430 \u043e\u0434\u043d\u043e\u0439 \u0438\u0437 501 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0432 \u043e\u0431\u0445\u043e\u0434\u0435 26 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f, \u0442\u043e \u0435\u0441\u0442\u044c \u0443\u0436\u0435 \u043d\u0430 WordPress \u0438 \u0437\u0430 \u0434\u0435\u043d\u044c \u0434\u043e \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u0437\u0430\u043c\u0435\u0440\u0430. \u041d\u0435 \u00ab\u043d\u0430 \u0432\u0441\u0435\u0445 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\u0445 \u0441\u0430\u0439\u0442\u0430\u00bb: \u0432 \u043a\u0430\u0440\u0442\u0435 1088 \u0430\u0434\u0440\u0435\u0441\u043e\u0432, \u0430 \u043e\u0431\u0445\u043e\u0434 \u0434\u0430\u043b 501, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0443 \u043a\u0440\u0430\u0443\u043b\u0435\u0440\u0430 \u043f\u043e\u0442\u043e\u043b\u043e\u043a 500 \u0441\u0442\u0440\u0430\u043d\u0438\u0446 \u043f\u043b\u044e\u0441 \u0441\u0442\u0430\u0440\u0442\u043e\u0432\u044b\u0439 \u0430\u0434\u0440\u0435\u0441. \u041d\u0430\u0434\u043e \u0431\u044b\u043b\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043f\u043e\u0442\u043e\u043b\u043e\u043a \u043a\u0440\u0430\u0443\u043b\u0435\u0440\u0430. \u042f \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u043b \u0432 \u043a\u0430\u0440\u0442\u0443 \u0441\u0430\u0439\u0442\u0430. \u0412\u0442\u043e\u0440\u0430\u044f \u043e\u0433\u043e\u0432\u043e\u0440\u043a\u0430 \u043a \u0442\u043e\u043c\u0443 \u0436\u0435 \u0437\u0430\u043c\u0435\u0440\u0443: \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u043b\u043e\u0441\u044c \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0442\u0435\u0433\u0430, \u0430 \u043d\u0435 landmark. \u041e\u0442\u0434\u0430\u0432\u0430\u043b\u0430 \u0431\u044b \u0442\u0435\u043c\u0430 <code>role=\"main\"<\/code>, \u0438\u0437\u0432\u043b\u0435\u043a\u0430\u0442\u0435\u043b\u044c \u043d\u0430\u0448\u0451\u043b \u0431\u044b \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435 \u0438 \u0431\u0435\u0437 \u0442\u0435\u0433\u0430, \u0430 \u043c\u043e\u0439 \u0436\u0435 \u0441\u043a\u0440\u0438\u043f\u0442 \u0437\u0430\u0447\u0451\u043b \u0431\u044b \u0435\u0433\u043e \u043a\u0430\u043a main.<\/p>\n<p>\u041f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0445 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0439, \u0447\u0442\u043e \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 <code>main<\/code> \u0432\u043b\u0438\u044f\u0435\u0442 \u043d\u0430 \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430 \u0443 Google, OpenAI \u0438\u043b\u0438 Anthropic, \u043d\u0435\u0442, \u0430 \u0431\u043e\u0435\u0432\u044b\u0435 \u044d\u043a\u0441\u0442\u0440\u0430\u043a\u0442\u043e\u0440\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u043d\u0430 \u043f\u043b\u043e\u0442\u043d\u043e\u0441\u0442\u0438 \u0442\u0435\u043a\u0441\u0442\u0430 \u0438 \u0441\u0441\u044b\u043b\u043e\u043a. \u00ab\u041c\u0430\u0448\u0438\u043d\u0435 \u043d\u0435\u043e\u0442\u043a\u0443\u0434\u0430 \u0443\u0437\u043d\u0430\u0442\u044c, \u0433\u0434\u0435 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435\u00bb \u044d\u0442\u043e \u043d\u0435 \u0444\u0430\u043a\u0442, \u0430 \u043f\u0435\u0440\u0435\u0441\u043a\u0430\u0437 \u044d\u0432\u0440\u0438\u0441\u0442\u0438\u043a\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430. \u041d\u0430 \u044d\u0432\u0440\u0438\u0441\u0442\u0438\u043a\u0443 <code>main<\/code> \u0432\u043b\u0438\u044f\u0435\u0442 \u043f\u0440\u044f\u043c\u043e, \u0438 \u0432\u043e\u0442 \u043a\u0430\u043a.<\/p>\n<h3>\u0414\u043e\u043b\u044f \u0448\u0430\u0431\u043b\u043e\u043d\u0430: 0,99 \u0438\u0437 \u0432\u0435\u0442\u043a\u0438 \u0431\u0435\u0437 main \u0438 0,47 \u0438\u0437 \u0432\u0435\u0442\u043a\u0438 \u0441 \u043d\u0438\u043c<\/h3>\n<p>\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0443 \u043c\u0435\u043d\u044f \u0440\u044f\u0434\u043e\u043c \u0441\u0442\u043e\u044f\u043b\u0438 \u0434\u0432\u0430 \u043d\u0435\u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u044b\u0445 \u0443\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u044f: \u00ab\u043d\u0430 \u0433\u043b\u0430\u0432\u043d\u043e\u0439 \u043c\u0435\u043d\u044e \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 \u0442\u0440\u0435\u0442\u044c \u0432\u0441\u0435\u0433\u043e \u0442\u0435\u043a\u0441\u0442\u0430\u00bb \u0438 \u00ab\u0434\u043e\u043b\u044f \u0448\u0430\u0431\u043b\u043e\u043d\u043d\u043e\u0433\u043e \u0442\u0435\u043a\u0441\u0442\u0430 \u0442\u0430\u043c 0,99\u00bb. \u0415\u0441\u043b\u0438 \u043c\u0435\u043d\u044e \u0442\u0440\u0435\u0442\u044c, \u0434\u043e\u043b\u044f \u0448\u0430\u0431\u043b\u043e\u043d\u0430 \u043d\u0435 0,99. \u0424\u043e\u0440\u043c\u0443\u043b\u0430 \u043e\u0431\u044a\u044f\u0441\u043d\u044f\u0435\u0442 \u0432\u0442\u043e\u0440\u0443\u044e \u0446\u0438\u0444\u0440\u0443:<\/p>\n<pre><code class=\"python\"># core\/audit_negative.py, \u0441\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u043emain_content = (text_soup.find(\"main\") or text_soup.find(\"article\")                or text_soup.find(attrs={\"role\": \"main\"}))total_text_len = len(text)if main_content and total_text_len &gt; 0:    main_text_len = len(main_content.get_text(separator=\" \", strip=True))    result.boilerplate_ratio = round(1.0 - (main_text_len \/ total_text_len), 2)elif total_text_len &gt; 0:    nav_footer_len = 0    for tag in text_soup.find_all([\"nav\", \"footer\", \"header\"]):        nav_footer_len += len(tag.get_text(separator=\" \", strip=True))    if nav_footer_len &gt; 0:        result.boilerplate_ratio = round(nav_footer_len \/ total_text_len, 2)<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u0414\u0432\u0435 \u0432\u0435\u0442\u043a\u0438. \u041f\u0440\u0438 \u043d\u0430\u043b\u0438\u0447\u0438\u0438 landmark \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u0434\u043e\u043b\u044f \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 \u0432\u043d\u0435 \u043d\u0435\u0433\u043e. \u0411\u0435\u0437 landmark \u043c\u0435\u0442\u0440\u0438\u043a\u0430 \u0443\u0445\u043e\u0434\u0438\u0442 \u0432 \u043e\u0446\u0435\u043d\u043a\u0443 \u043f\u043e <code>nav<\/code>, <code>footer<\/code> \u0438 <code>header<\/code>, \u0430 <code>find_all<\/code> \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0438 \u0432\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0435 \u0442\u0435\u0433\u0438, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 <code>&lt;nav&gt;<\/code> \u0432\u043d\u0443\u0442\u0440\u0438 <code>&lt;header&gt;<\/code> \u043f\u043e\u043f\u0430\u0434\u0430\u0435\u0442 \u0432 \u0441\u0443\u043c\u043c\u0443 \u0434\u0432\u0430\u0436\u0434\u044b. \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0435\u0432\u044b\u0441\u0438\u0442\u044c \u0435\u0434\u0438\u043d\u0438\u0446\u0443:<\/p>\n<pre><code class=\"python\">mini = (\"&lt;html&gt;&lt;body&gt;&lt;header&gt;&lt;nav&gt;\u0423\u0441\u043b\u0443\u0433\u0438 \u041a\u0435\u0439\u0441\u044b \u0411\u043b\u043e\u0433 \u041a\u043e\u043d\u0442\u0430\u043a\u0442\u044b&lt;\/nav&gt;&lt;\/header&gt;\"        \"&lt;p&gt;\u0422\u0435\u043a\u0441\u0442.&lt;\/p&gt;&lt;footer&gt;&lt;nav&gt;\u0423\u0441\u043b\u0443\u0433\u0438 \u041a\u0435\u0439\u0441\u044b \u0411\u043b\u043e\u0433 \u041a\u043e\u043d\u0442\u0430\u043a\u0442\u044b&lt;\/nav&gt;&lt;\/footer&gt;&lt;\/body&gt;&lt;\/html&gt;\")# nav_footer_len = 104, total_text_len = 60, boilerplate_ratio = 1.73<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0430 \u0436\u0438\u0432\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435: \u0443\u0431\u0440\u0430\u043b landmark \u0438\u0437 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0433\u043b\u0430\u0432\u043d\u043e\u0439 \u0438 \u043f\u0440\u043e\u0433\u043d\u0430\u043b \u0442\u0443 \u0436\u0435 \u0444\u043e\u0440\u043c\u0443\u043b\u0443, \u043f\u043e\u043b\u0443\u0447\u0438\u043b 0,66 \u0432\u043c\u0435\u0441\u0442\u043e 0,47. \u0421\u0435\u043d\u0442\u044f\u0431\u0440\u044c\u0441\u043a\u0438\u0435 0,99 \u044d\u0442\u043e \u0434\u0432\u043e\u0439\u043d\u043e\u0439 \u0441\u0447\u0451\u0442 \u0432\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0445 \u0442\u0435\u0433\u043e\u0432, \u0430 \u043d\u0435 \u0434\u043e\u043b\u044f \u043c\u0435\u043d\u044e. \u0424\u0440\u0430\u0437\u0443 \u00ab99 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u043e\u0432 \u0433\u043b\u0430\u0432\u043d\u043e\u0439 \u0434\u043b\u044f \u043c\u0430\u0448\u0438\u043d\u044b \u044d\u0442\u043e \u043e\u0431\u0432\u044f\u0437\u043a\u0430\u00bb \u0441\u043d\u0438\u043c\u0430\u044e \u0446\u0435\u043b\u0438\u043a\u043e\u043c.<\/p>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u0442\u0430\u043a\u043e\u0435 \u043d\u0430\u0434\u043e \u0434\u0432\u0443\u043c\u044f \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u043c\u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u043c\u0438. \u041f\u0435\u0440\u0432\u044b\u0439 \u0447\u0435\u0441\u0442\u0435\u043d, \u0435\u0441\u043b\u0438 landmark \u0435\u0441\u0442\u044c: \u0432\u0441\u0451 \u0432\u043d\u0435 \u043d\u0435\u0433\u043e \u043e\u0431\u0432\u044f\u0437\u043a\u0430. \u0412\u0442\u043e\u0440\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0438 \u0431\u0435\u0437 \u043d\u0435\u0433\u043e: \u0432\u0437\u044f\u0442\u044c \u0442\u0440\u0438 \u0438 \u0431\u043e\u043b\u044c\u0448\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446 \u0438 \u043f\u043e\u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0447\u0435\u0440\u0435\u0437 <code>Counter<\/code> \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0435 \u0431\u043b\u043e\u043a\u0438, \u0434\u043e\u0441\u043b\u043e\u0432\u043d\u043e \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u044e\u0449\u0438\u0435\u0441\u044f \u043d\u0430 \u0432\u0441\u0435\u0445.<\/p>\n<pre><code class=\"python\"># boiler.py, \u0441\u043f\u043e\u0441\u043e\u0431 \u0431: \u0431\u043b\u043e\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0435\u0441\u0442\u044c \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u0432\u044b\u0431\u043e\u0440\u043a\u0438seen = Counter()for d in docs.values():    seen.update({e[1] for e in d.events if e[0] == \"t\" and len(page.words(e[1])) &gt; 1})shared = {b for b, n in seen.items() if n == len(docs)}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u041d\u0430 \u0433\u043b\u0430\u0432\u043d\u043e\u0439 \u043f\u0435\u0440\u0432\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0434\u0430\u0451\u0442 522 \u0441\u043b\u043e\u0432\u0430 \u043e\u0431\u0432\u044f\u0437\u043a\u0438 \u0438\u0437 1158, \u0432\u0442\u043e\u0440\u043e\u0439 526, \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u043d\u0430 \u0442\u043e\u0439 \u0436\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u043f\u0435\u0447\u0430\u0442\u0430\u0435\u0442 <code>boilerplate_ratio: 0.47<\/code> \u043f\u0440\u043e\u0442\u0438\u0432 \u043c\u043e\u0438\u0445 0,45 (\u043e\u043d \u0441\u0447\u0438\u0442\u0430\u0435\u0442 \u0432 \u0441\u0438\u043c\u0432\u043e\u043b\u0430\u0445, \u044f \u0432 \u0441\u043b\u043e\u0432\u0430\u0445). \u0422\u0440\u0438 \u043e\u0446\u0435\u043d\u043a\u0438 \u043b\u0435\u0433\u043b\u0438 \u0432 0,45-0,47. \u041f\u043e\u043b\u043d\u043e\u0439 \u0441\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0442\u0443\u0442 \u043d\u0435\u0442: \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0442\u043e\u0433\u043e \u0436\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u0430, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u0430\u044f \u043f\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044e, \u0434\u0430\u043b\u0430 0,53, \u0442\u043e \u0435\u0441\u0442\u044c \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u043e\u0434\u0438\u043d, \u0430 \u0432\u0442\u043e\u0440\u0430\u044f \u0446\u0438\u0444\u0440\u0430 \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u044f\u0442\u043e\u0439 \u0443\u0436\u0435 \u043e\u0442 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438.<\/p>\n<p>\u041e\u0431\u0432\u044f\u0437\u043a\u0430 \u0432\u0435\u0437\u0434\u0435 \u043e\u0434\u043d\u0430, 522 \u0441\u043b\u043e\u0432\u0430, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0435\u0451 \u0434\u043e\u043b\u044f \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u043f\u0440\u043e\u043f\u043e\u0440\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u0430 \u043e\u0431\u044a\u0451\u043c\u0443 \u0442\u0435\u043a\u0441\u0442\u0430: 0,45 \u043d\u0430 \u043a\u043e\u0440\u043e\u0442\u043a\u043e\u0439 \u0433\u043b\u0430\u0432\u043d\u043e\u0439 \u0441 1158 \u0441\u043b\u043e\u0432\u0430\u043c\u0438 \u0438 0,19-0,20 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\u0445 \u0443\u0441\u043b\u0443\u0433, \u0433\u0434\u0435 \u043f\u043e \u0442\u043e\u043c\u0443 \u0436\u0435 \u0441\u0447\u0451\u0442\u0447\u0438\u043a\u0443 2600-2700. \u0410\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u044b\u0435 \u0441\u043b\u043e\u0432\u0430 \u0443 \u0440\u0430\u0437\u043d\u044b\u0445 \u0441\u0447\u0451\u0442\u0447\u0438\u043a\u043e\u0432 \u0440\u0430\u0441\u0445\u043e\u0434\u044f\u0442\u0441\u044f, \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c \u043d\u0430\u0434\u043e \u0434\u043e\u043b\u0438. \u041b\u0435\u0447\u0438\u0442\u0441\u044f \u043d\u0435 \u0441\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u0438\u0435\u043c \u043c\u0435\u043d\u044e, \u0430 \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u0442\u0435\u043a\u0441\u0442\u0430 \u043d\u0430 \u0433\u043b\u0430\u0432\u043d\u043e\u0439.<\/p>\n<h3>\u041d\u043e\u043b\u044c \u0441\u0435\u043a\u0446\u0438\u0439 \u0438\u0437 33, \u0438 \u043f\u043e\u0447\u0435\u043c\u0443 \u043f\u043e\u0440\u043e\u0433 \u043d\u0435 130-170 \u0441\u043b\u043e\u0432<\/h3>\n<p>\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u044f \u0437\u0430\u043f\u0438\u0441\u0430\u043b, \u0447\u0442\u043e \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u044b\u0439 \u043a\u0443\u0441\u043e\u043a \u0434\u043b\u044f \u0446\u0438\u0442\u0430\u0442\u044b \u044d\u0442\u043e 130-170 \u0441\u043b\u043e\u0432. \u042d\u0442\u043e \u043d\u0435\u0432\u0435\u0440\u043d\u043e \u0434\u0430\u0436\u0435 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u044f \u0441\u0441\u044b\u043b\u0430\u043b\u0441\u044f: <code>_OPTIMAL_MIN_WORDS = 100<\/code>, <code>_OPTIMAL_MAX_WORDS = 150<\/code>. \u0418 \u044d\u0442\u043e \u043f\u043e\u0440\u043e\u0433 \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 \u0441\u043e \u0441\u0441\u044b\u043b\u043a\u043e\u0439 \u043d\u0430 \u043e\u0434\u043d\u043e \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435, \u0430 \u043d\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e \u043c\u043e\u0434\u0435\u043b\u0435\u0439: \u043d\u0430\u0440\u0435\u0437\u043a\u0430 \u0443 \u0441\u0438\u0441\u0442\u0435\u043c \u0440\u0430\u0437\u043d\u0430\u044f, \u043f\u043e \u0442\u043e\u043a\u0435\u043d\u0430\u043c, \u0441 \u043f\u0435\u0440\u0435\u043a\u0440\u044b\u0442\u0438\u0435\u043c, \u0441\u0435\u043c\u0430\u043d\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f. \u041f\u0440\u0438\u0432\u044f\u0437\u043a\u0430 \u043a \u0441\u043b\u043e\u0432\u0430\u043c \u0434\u043b\u044f \u0440\u0443\u0441\u0441\u043a\u043e\u0433\u043e \u0432\u0434\u0432\u043e\u0439\u043d\u0435 \u0443\u0441\u043b\u043e\u0432\u043d\u0430, \u0441\u043b\u043e\u0432 \u043d\u0430 \u0442\u043e\u043a\u0435\u043d \u0443 \u0440\u0443\u0441\u0441\u043a\u043e\u0433\u043e \u043c\u0435\u043d\u044c\u0448\u0435, \u0447\u0435\u043c \u0443 \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u043e\u0433\u043e.<\/p>\n<p>\u0412 \u0442\u043e\u043c \u0436\u0435 \u0444\u0430\u0439\u043b\u0435 \u043b\u0435\u0436\u0438\u0442 \u0432\u0435\u0449\u044c \u043f\u043e\u0441\u0435\u0440\u044c\u0451\u0437\u043d\u0435\u0435. \u0414\u0432\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u043f\u0440\u0438\u0433\u043e\u0434\u043d\u043e\u0441\u0442\u0438 \u043a \u0446\u0438\u0442\u0430\u0442\u0435 \u0437\u0430\u0434\u0430\u043d\u044b \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043a\u0430\u043c\u0438:<\/p>\n<pre><code class=\"python\"># core\/audit_rag.pyimport re_DEFINITION_RE = re.compile(    r\"^[A-Z][^.]{5,60}\\b(?:is|are|refers?\\s+to|means?|describes?|represents?)\\b\", re.MULTILINE)_ANCHOR_RE = re.compile(r\"(?&lt;=[.!?]\\s)[A-Z][^.!?]{30,200}[.!?]\")<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u0412 <code>[A-Z]<\/code> \u043f\u043e\u043f\u0430\u0434\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043b\u0430\u0442\u0438\u043d\u0438\u0446\u0430, \u0440\u0443\u0441\u0441\u043a\u0430\u044f \u0437\u0430\u0433\u043b\u0430\u0432\u043d\u0430\u044f \u043d\u0435 \u043c\u0430\u0442\u0447\u0438\u0442\u0441\u044f \u043d\u0438 \u0432 \u043e\u0434\u043d\u043e\u0439 \u0438\u0437 \u0434\u0432\u0443\u0445. \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0430 \u0434\u0432\u0443\u0445 \u0441\u043c\u044b\u0441\u043b\u043e\u0432\u044b\u0445 \u043a\u043e\u043f\u0438\u044f\u0445 \u043e\u0434\u043d\u043e\u0433\u043e \u0430\u0431\u0437\u0430\u0446\u0430:<\/p>\n<pre><code class=\"python\"># \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u0431\u043b\u043e\u043a\u043e\u043c \u0432\u044b\u0448\u0435: \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043a\u0438 \u0431\u0435\u0440\u0443\u0442\u0441\u044f \u043e\u0442\u0442\u0443\u0434\u0430RU = (\"\u041f\u043e\u0432\u0435\u0434\u0435\u043d\u0447\u0435\u0441\u043a\u0438\u0435 \u0444\u0430\u043a\u0442\u043e\u0440\u044b \u044d\u0442\u043e \u0441\u0438\u0433\u043d\u0430\u043b\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0438\u0441\u043a\u043e\u0432\u0438\u043a \u0441\u043d\u0438\u043c\u0430\u0435\u0442 \u0441 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043f\u043e\u0441\u0435\u0442\u0438\u0442\u0435\u043b\u0435\u0439. \"      \"\u042f\u043d\u0434\u0435\u043a\u0441 \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u0438\u0445 \u0441 2011 \u0433\u043e\u0434\u0430 \u0438 \u0441\u0447\u0438\u0442\u0430\u0435\u0442 \u0434\u043e\u043b\u044e \u043e\u0442\u043a\u0430\u0437\u043e\u0432 \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0439. \"      \"\u0414\u043e\u043b\u044f \u043e\u0442\u043a\u0430\u0437\u043e\u0432 \u0432\u044b\u0448\u0435 65 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u043e\u0432 \u0440\u043e\u043d\u044f\u0435\u0442 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 \u0432 \u0441\u0440\u0435\u0434\u043d\u0435\u043c \u043d\u0430 4 \u043f\u0443\u043d\u043a\u0442\u0430 \u0437\u0430 3 \u043c\u0435\u0441\u044f\u0446\u0430.\")EN = (\"Behavioral factors are signals that a search engine collects from visitor behavior. \"      \"Yandex has used them since 2011 and treats bounce rate as the key one. \"      \"A bounce rate above 65 percent drops positions by 4 points in 3 months on average.\")for name, t in ((\"RU\", RU), (\"EN\", EN)):    print(name, bool(_DEFINITION_RE.search(t[:150])), len(_ANCHOR_RE.findall(t)))# RU False 0# EN True 2<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u0421\u0440\u0435\u0437 <code>[:150]<\/code> \u043d\u0435 \u043c\u043e\u0439, \u0442\u0430\u043a \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0438 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 <code>_DEFINITION_RE<\/code>: \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0438\u0449\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043f\u0435\u0440\u0432\u044b\u0445 150 \u0441\u0438\u043c\u0432\u043e\u043b\u0430\u0445 \u0442\u0435\u043a\u0441\u0442\u0430. \u0427\u0438\u0441\u043b\u043e anchors \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0432 \u0430\u0431\u0437\u0430\u0446\u0435, \u0432\u0430\u0436\u043d\u043e \u043d\u0435 \u043e\u043d\u043e, \u0430 \u0442\u043e, \u0447\u0442\u043e \u0434\u043b\u044f \u0440\u0443\u0441\u0441\u043a\u043e\u0433\u043e \u043e\u0431\u0430 \u0441\u0447\u0451\u0442\u0447\u0438\u043a\u0430 \u0441\u0442\u043e\u044f\u0442 \u043d\u0430 \u043d\u0443\u043b\u0435 \u043f\u0440\u0438 \u043b\u044e\u0431\u043e\u043c \u0442\u0435\u043a\u0441\u0442\u0435. \u041d\u0430 \u0433\u043b\u0430\u0432\u043d\u043e\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u043e\u0442\u0434\u0430\u0451\u0442 <code>has_definition_opening: false<\/code> \u0438 <code>anchor_sentences: 2<\/code> \u043f\u0440\u0438 \u0441\u0432\u043e\u0438\u0445 1271 \u0441\u043b\u043e\u0432\u0435, \u0438 \u0434\u0432\u043e\u0439\u043a\u0430 \u043d\u0430\u0431\u0435\u0436\u0430\u043b\u0430 \u0441 \u043b\u0430\u0442\u0438\u043d\u0441\u043a\u0438\u0445 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u043e\u0432. \u041c\u043e\u0439 \u0441\u043a\u0440\u0438\u043f\u0442 \u043d\u0430 \u0442\u043e\u0439 \u0436\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u0441\u0447\u0438\u0442\u0430\u0435\u0442 1158 \u0441\u043b\u043e\u0432: \u0442\u043e\u043a\u0435\u043d\u0438\u0437\u0430\u0446\u0438\u044f \u0440\u0430\u0437\u043d\u0430\u044f, \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c \u044d\u0442\u0438 \u0434\u0432\u0430 \u0441\u0447\u0451\u0442\u0447\u0438\u043a\u0430 \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0431\u043e\u0439 \u043d\u0435\u043b\u044c\u0437\u044f.<\/p>\n<p>\u0414\u043b\u0438\u043d\u0430 \u0441\u0435\u043a\u0446\u0438\u0439 \u043c\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e: \u0438\u0434\u0451\u043c \u043f\u043e \u043f\u043e\u0442\u043e\u043a\u0443 \u0441\u043e\u0431\u044b\u0442\u0438\u0439, \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u043c \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0435 \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0441\u0435\u043a\u0446\u0438\u044e, \u0442\u0435\u043a\u0441\u0442 \u0432\u043d\u0443\u0442\u0440\u0438 landmark \u043f\u0440\u0438\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0432 \u0441\u0447\u0451\u0442\u0447\u0438\u043a \u0441\u043b\u043e\u0432 \u0442\u0435\u043a\u0443\u0449\u0435\u0439.<\/p>\n<pre><code class=\"python\"># sections.py, \u044f\u0434\u0440\u043e \u0441\u0447\u0451\u0442\u0447\u0438\u043a\u0430LO, HI = 100, 150d = page.parse(url)secs, cur, title = [], None, Nonefor e in d.events:    if e[0] == \"h\":        if cur is not None:            secs.append((title, cur))        title, cur = e[2], 0    elif e[0] == \"t\" and cur is not None and (e[2] or not d.has_main):        cur += len(page.words(e[1]))if cur is not None:    secs.append((title, cur))fit = [s for s in secs if LO &lt;= s[1] &lt;= HI]<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<pre><code>\u0433\u043b\u0430\u0432\u043d\u0430\u044f, \u043f\u0440\u043e\u0433\u043e\u043d 30.09  \u0441\u0435\u043a\u0446\u0438\u0439: 33   \u0441\u0440\u0435\u0434\u043d\u044f\u044f 19.2   \u043c\u0435\u0434\u0438\u0430\u043d\u0430 14   \u043c\u0430\u043a\u0441 95  \u0432 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0435 100-150: 0 \u0438\u0437 33 = 0%  \u043f\u0443\u0441\u0442\u044b\u0445 (0 \u0441\u043b\u043e\u0432): 6       19  &lt;H1: \u043e\u0444\u0444\u0435\u0440 \u0433\u043b\u0430\u0432\u043d\u043e\u0439&gt;        0  &lt;\u043f\u0435\u0440\u0432\u0430\u044f \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0430 \u0444\u0440\u0430\u0437\u044b \u0438\u0437 \u0431\u043b\u043e\u043a\u0430 \u00ab\u043a\u0430\u043a \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442\u00bb,&gt;       30  &lt;\u0432\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0430 \u0442\u043e\u0439 \u0436\u0435 \u0444\u0440\u0430\u0437\u044b.&gt;        1  &lt;\u043f\u043e\u0434\u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u0431\u043b\u043e\u043a\u0430 \u0441 \u0446\u0435\u043d\u043e\u0439&gt;<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u0412\u043e\u0442 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u0432 \u0447\u0435\u0442\u044b\u0440\u0451\u0445 \u0441\u0442\u0440\u043e\u043a\u0430\u0445 \u0432\u044b\u0432\u043e\u0434\u0430. \u041e\u0434\u043d\u043e \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440 \u0440\u0430\u0437\u043b\u043e\u0436\u0438\u043b \u043d\u0430 \u0434\u0432\u0430 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0434\u0438\u0437\u0430\u0439\u043d\u0435\u0440\u0443 \u043d\u0443\u0436\u0435\u043d \u0431\u044b\u043b \u043f\u0435\u0440\u0435\u043d\u043e\u0441 \u0441\u0442\u0440\u043e\u043a\u0438. \u0414\u043b\u044f \u043c\u0430\u0448\u0438\u043d\u044b \u044d\u0442\u043e \u0434\u0432\u0435 \u0441\u0435\u043a\u0446\u0438\u0438, \u043f\u0443\u0441\u0442\u0430\u044f \u0438 \u043d\u0430 30 \u0441\u043b\u043e\u0432. \u0422\u0443\u0434\u0430 \u0436\u0435 \u0443\u0448\u043b\u0438 \u0434\u0435\u043a\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u0435 \u0431\u0435\u0439\u0434\u0436\u0438 \u00ab24\/7\u00bb, \u00ab10+\u00bb \u0438 \u00ab4\u00bb, \u043f\u043e\u043f\u0430\u0432\u0448\u0438\u0435 \u0432 H2 \u0438 H3 \u043d\u0430\u0440\u0430\u0432\u043d\u0435 \u0441\u043e \u0441\u043c\u044b\u0441\u043b\u043e\u0432\u044b\u043c\u0438.<\/p>\n<p>\u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u043d\u0430 \u0442\u043e\u0439 \u0436\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u043f\u0435\u0447\u0430\u0442\u0430\u0435\u0442 <code>total_sections: 18<\/code> \u0438 <code>avg_section_words: 10.5<\/code>, \u043c\u043e\u0439 \u0441\u043a\u0440\u0438\u043f\u0442 33 \u0438 19,2: \u043e\u043d \u0440\u0435\u0436\u0435\u0442 \u0438\u043d\u0430\u0447\u0435 \u0438 \u043f\u043e \u0434\u0440\u0443\u0433\u043e\u043c\u0443 \u0442\u0435\u043a\u0441\u0442\u0443. \u0421\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u0435 \u0441 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044c\u0441\u043a\u0438\u043c\u0438 \u00ab0 \u0438\u0437 18\u00bb \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0435, \u0432 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u0435 \u0441\u0440\u0435\u0434\u043d\u044f\u044f \u0431\u044b\u043b\u0430 10,2 \u0441\u043b\u043e\u0432\u0430 \u043f\u0440\u0438 \u0442\u043e\u0439 \u0436\u0435 \u043d\u0443\u043b\u0435\u0432\u043e\u0439 \u0434\u043e\u043b\u0435 \u043f\u043e\u043f\u0430\u0434\u0430\u043d\u0438\u0439. \u0421\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435: \u043d\u043e\u043b\u044c \u043f\u043e\u043f\u0430\u0434\u0430\u043d\u0438\u0439, \u043c\u0435\u0434\u0438\u0430\u043d\u0430 14 \u043f\u0440\u0438 \u0441\u0440\u0435\u0434\u043d\u0435\u0439 19.<\/p>\n<p>\u0421\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0443\u0441\u043b\u0443\u0433\u0438: 49 \u0441\u0435\u043a\u0446\u0438\u0439, \u0441\u0440\u0435\u0434\u043d\u044f\u044f 43,1, \u043c\u0435\u0434\u0438\u0430\u043d\u0430 14, \u0432 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0435 8 \u0438\u0437 49. \u041e\u0442\u0441\u044e\u0434\u0430 \u0441\u043d\u0438\u043c\u0430\u044e \u0435\u0449\u0451 \u043e\u0434\u043d\u0443 \u0441\u0432\u043e\u044e \u0444\u0440\u0430\u0437\u0443, \u00ab\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u043d\u0430 2400 \u0441\u043b\u043e\u0432 \u043d\u0435 \u0434\u0430\u0451\u0442 \u043d\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u0431\u043b\u043e\u043a\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0434\u0435\u043b\u044c \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u043d\u0443\u0442\u044c \u0446\u0435\u043b\u0438\u043a\u043e\u043c\u00bb: \u0431\u043b\u043e\u043a\u043e\u0432 \u0432 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0435 \u0432\u043e\u0441\u0435\u043c\u044c. \u041c\u0435\u0448\u0430\u044e\u0442 \u0438\u043c \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u0435\u043a\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u0435 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438, \u043d\u043e \u0438 \u0441\u0435\u043c\u044c \u043f\u0440\u044b\u0436\u043a\u043e\u0432 \u0443\u0440\u043e\u0432\u043d\u044f \u043d\u0430 \u0442\u043e\u0439 \u0436\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435. \u041a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u043d\u0430 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438, \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 <code>html.parser<\/code> \u0438\u0437 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 Python: 1 \u0438\u0437 14, \u0441\u0440\u0435\u0434\u043d\u044f\u044f 121,1, \u043c\u0435\u0434\u0438\u0430\u043d\u0430 8, \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c 746. \u0422\u043e \u0435\u0441\u0442\u044c \u0432\u044b\u0441\u043e\u043a\u0430\u044f \u0434\u043e\u043b\u044f \u043f\u043e\u043f\u0430\u0434\u0430\u043d\u0438\u0439 \u0441\u0430\u043c\u0430 \u043f\u043e \u0441\u0435\u0431\u0435 \u043d\u0435 \u0446\u0435\u043b\u044c, \u043f\u0440\u0438\u0437\u043d\u0430\u043a \u044d\u0442\u043e \u0440\u0430\u0437\u0440\u044b\u0432 \u043c\u0435\u0436\u0434\u0443 \u0441\u0440\u0435\u0434\u043d\u0435\u0439 \u0438 \u043c\u0435\u0434\u0438\u0430\u043d\u043e\u0439.<\/p>\n<p>\u0414\u0432\u0430 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f. \u0414\u0435\u043a\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u043f\u043e\u0441\u0440\u0435\u0434\u0438 \u0430\u0431\u0437\u0430\u0446\u0430 \u0440\u0435\u0436\u0435\u0442 \u0441\u0435\u043a\u0446\u0438\u044e \u043d\u0430\u0434\u0432\u043e\u0435, \u043e\u0442\u043b\u0438\u0447\u0438\u0442\u044c \u0435\u0433\u043e \u043e\u0442 \u0441\u043c\u044b\u0441\u043b\u043e\u0432\u043e\u0433\u043e \u0441\u043a\u0440\u0438\u043f\u0442 \u043d\u0435 \u0443\u043c\u0435\u0435\u0442. \u0418 \u043a\u0430\u0440\u0442\u0438\u043d\u0430 \u00ab\u043f\u0435\u0440\u0432\u044b\u0435 \u0441\u0442\u043e \u0441\u043b\u043e\u0432 \u044d\u0442\u043e \u043c\u0435\u043d\u044e\u00bb \u0432 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u0435 \u0434\u0435\u0440\u0436\u0430\u043b\u0430\u0441\u044c \u043d\u0430 \u0432\u0441\u0435\u0445 \u0434\u0435\u0432\u044f\u0442\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u0445 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\u0445, \u0430 \u0441\u0435\u0439\u0447\u0430\u0441 \u043f\u0435\u0440\u0435\u043c\u0435\u0440\u0435\u043d\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u0433\u043b\u0430\u0432\u043d\u0430\u044f: \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u0432\u043e\u0441\u0435\u043c\u044c \u044f \u0437\u0430\u043d\u043e\u0432\u043e \u043d\u0435 \u0441\u0447\u0438\u0442\u0430\u043b.<\/p>\n<h3>69 \u0441\u0442\u0440\u0430\u043d\u0438\u0446 \u043f\u043e \u043e\u0434\u043d\u043e\u043c\u0443 \u043a\u0430\u0440\u043a\u0430\u0441\u0443: \u0448\u0438\u043d\u0433\u043b\u0438 \u043f\u0440\u043e\u0442\u0438\u0432 \u0432\u044b\u0432\u043e\u0434\u0430 \u043e \u0434\u0443\u0431\u043b\u044f\u0445<\/h3>\n<p>\u0417\u0430 \u0434\u0435\u043d\u044c \u0434\u043e \u0437\u0430\u043c\u0435\u0440\u0430 \u0446\u0438\u0442\u0438\u0440\u0443\u0435\u043c\u043e\u0441\u0442\u0438 SEO-\u043e\u0431\u0445\u043e\u0434 \u043f\u043e\u043a\u0430\u0437\u0430\u043b, \u0447\u0442\u043e 69 \u0434\u043e\u0447\u0435\u0440\u043d\u0438\u0445 \u0441\u0442\u0440\u0430\u043d\u0438\u0446 \u0443\u0441\u043b\u0443\u0433 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u044b \u043f\u043e \u043e\u0434\u043d\u043e\u043c\u0443 \u043a\u0430\u0440\u043a\u0430\u0441\u0443: \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0442 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b, \u043e\u0434\u0438\u043d\u043d\u0430\u0434\u0446\u0430\u0442\u044c \u043f\u043e\u0434\u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u043e\u0432, \u0441\u043e\u0440\u043e\u043a \u0434\u0432\u0435 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438. \u0412\u044b\u0432\u043e\u0434 \u043d\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u043b\u0441\u044f: \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0435\u043d\u0442 \u0431\u0435\u0437 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043d\u043e\u0439 \u0446\u0435\u043d\u043d\u043e\u0441\u0442\u0438, \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0442\u0435\u043a\u0441\u0442\u044b.<\/p>\n<p>\u041d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0434\u0435\u043d\u044c \u044f \u043f\u043e\u0441\u0447\u0438\u0442\u0430\u043b \u043f\u0435\u0440\u0435\u0441\u0435\u0447\u0435\u043d\u0438\u0435. <a href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9A%D0%BE%D1%8D%D1%84%D1%84%D0%B8%D1%86%D0%B8%D0%B5%D0%BD%D1%82_%D0%96%D0%B0%D0%BA%D0%BA%D0%B0%D1%80%D0%B0\" rel=\"noopener nofollow\">\u041a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442 \u0416\u0430\u043a\u043a\u0430\u0440\u0430<\/a> \u043f\u043e \u0448\u0438\u043d\u0433\u043b\u0430\u043c \u0434\u043b\u0438\u043d\u044b \u0448\u0435\u0441\u0442\u044c, \u0440\u044f\u0434\u043e\u043c containment:<\/p>\n<pre><code class=\"python\"># \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043a\u043e\u0440\u0442\u0435\u0436\u0435\u0439 \u0438\u0437 n \u043f\u043e\u0434\u0440\u044f\u0434 \u0438\u0434\u0443\u0449\u0438\u0445 \u0441\u043b\u043e\u0432, \u0432\u0437\u044f\u0442\u044b\u0445 \u0442\u043e\u043b\u044c\u043a\u043e \u0438\u0437 landmarkshingles = lambda w, n=6: {tuple(w[i:i + n]) for i in range(len(w) - n + 1)}jaccard     = lambda a, b: len(a &amp; b) \/ len(a | b) if a | b else 0.0containment = lambda a, b: len(a &amp; b) \/ min(len(a), len(b)) if a and b else 0.0<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u0422\u043e\u043a\u0435\u043d\u0438\u0437\u0430\u0446\u0438\u044f: \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043a\u0430 <code>[0-9A-Za-z\u0410-\u042f\u0430-\u044f\u0401\u0451]+(?:-[0-9A-Za-z\u0410-\u042f\u0430-\u044f\u0401\u0451]+)*<\/code>, \u0442\u043e \u0435\u0441\u0442\u044c \u0434\u0435\u0444\u0438\u0441 \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u043b\u043e\u0432\u0430 \u043d\u0435 \u0440\u0435\u0436\u0435\u0442 \u0438 \u00ab\u0418\u0418-\u0430\u0433\u0435\u043d\u0442\u044b\u00bb \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u043e\u0434\u043d\u0438\u043c \u0442\u043e\u043a\u0435\u043d\u043e\u043c; \u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u043a \u043d\u0438\u0436\u043d\u0435\u043c\u0443, \u0441\u043b\u043e\u0432\u043e\u0444\u043e\u0440\u043c\u044b \u043d\u0435 \u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0443\u044e\u0442\u0441\u044f, \u043a\u0430\u0440\u043a\u0430\u0441 \u0432\u044b\u0440\u0435\u0437\u0430\u0435\u0442\u0441\u044f \u0444\u0438\u043b\u044c\u0442\u0440\u043e\u043c \u043f\u043e landmark. \u0428\u0435\u0441\u0442\u044c \u0441\u043b\u043e\u0432 \u043f\u043e\u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0435 \u0441\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u044f \u043d\u0430 \u0442\u0430\u043a\u043e\u0439 \u0434\u043b\u0438\u043d\u0435 \u0443\u0436\u0435 \u0440\u0435\u0434\u043a\u0438, \u0430 \u043f\u0435\u0440\u0435\u0444\u0440\u0430\u0437 \u0435\u0449\u0451 \u043b\u043e\u0432\u0438\u0442\u0441\u044f. \u0415\u0441\u043b\u0438 \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0434\u0435\u0444\u0438\u0441 \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u0435\u043c, \u0442\u0435 \u0436\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0434\u0430\u044e\u0442 0,073-0,077 \u0432\u043c\u0435\u0441\u0442\u043e 0,072-0,076, \u043d\u0430 \u0432\u044b\u0432\u043e\u0434 \u044d\u0442\u043e \u043d\u0435 \u0432\u043b\u0438\u044f\u0435\u0442.<\/p>\n<pre><code>main_only = True   (2251, 2276, 2273 \u0448\u0438\u043d\u0433\u043b\u0430)  J=0.072  C=0.136   pod-klyuch \/ ii-rpa  J=0.072  C=0.134   pod-klyuch \/ vnedrenie  J=0.076  C=0.141   ii-rpa \/ vnedrenie\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c: \u0441 \u0433\u043b\u0430\u0432\u043d\u043e\u0439 \u0442\u043e\u0433\u043e \u0436\u0435 \u0441\u0430\u0439\u0442\u0430 J=0.039, \u0441 docs.python.org J=0.000<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u0422\u0440\u0438 \u043f\u043e\u043f\u0440\u0430\u0432\u043a\u0438. \u041f\u0435\u0440\u0432\u0430\u044f: \u043d\u0438 1 \u043c\u0438\u043d\u0443\u0441 \u0416\u0430\u043a\u043a\u0430\u0440, \u043d\u0438 1 \u043c\u0438\u043d\u0443\u0441 containment \u043d\u0435 \u0434\u0430\u044e\u0442 \u0434\u043e\u043b\u0438 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0442\u0435\u043a\u0441\u0442\u0430. \u0416\u0430\u043a\u043a\u0430\u0440 \u0441\u0447\u0438\u0442\u0430\u0435\u0442 \u043f\u0435\u0440\u0435\u0441\u0435\u0447\u0435\u043d\u0438\u0435 \u043a \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044e, containment \u043a \u043c\u0435\u043d\u044c\u0448\u0435\u043c\u0443 \u0438\u0437 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432, \u0438 \u043f\u0440\u0438 \u043f\u043e\u0447\u0442\u0438 \u0440\u0430\u0432\u043d\u044b\u0445 \u043e\u0431\u044a\u0451\u043c\u0430\u0445 (2251, 2276 \u0438 2273 \u0448\u0438\u043d\u0433\u043b\u0430) \u0440\u0430\u0437\u0440\u044b\u0432 \u043c\u0435\u0436\u0434\u0443 \u043d\u0438\u043c\u0438 \u0434\u0432\u0443\u043a\u0440\u0430\u0442\u043d\u044b\u0439 \u043f\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044e, \u0430 \u043d\u0435 \u0438\u0437-\u0437\u0430 \u043f\u0435\u0440\u0435\u043a\u043e\u0441\u0430 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u0432: \u043f\u0440\u0438 \u0440\u0430\u0432\u043d\u044b\u0445 n \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f C = x\/n \u043f\u0440\u043e\u0442\u0438\u0432 J = x\/(2n-x). \u0414\u043b\u044f \u0432\u043e\u043f\u0440\u043e\u0441\u0430 \u00ab\u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u043d \u043b\u0438 \u0442\u0435\u043a\u0441\u0442\u00bb \u0431\u0435\u0440\u0443\u0442 containment, \u043d\u0430 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043e\u0431\u044a\u0451\u043c\u0430\u0445 minhash \u0441 simhash. \u0418\u0437\u043c\u0435\u0440\u0435\u043d\u043e \u0440\u043e\u0432\u043d\u043e \u043e\u0434\u043d\u043e: \u0434\u043e 14 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u043e\u0432 \u0448\u0435\u0441\u0442\u0438\u0433\u0440\u0430\u043c\u043c \u043c\u0435\u043d\u044c\u0448\u0435\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u044e\u0442\u0441\u044f \u043d\u0430 \u0431\u043e\u043b\u044c\u0448\u0435\u0439. \u0426\u0438\u0444\u0440\u0443 \u00ab93 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u0430 \u043f\u0440\u043e\u0437\u044b \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u00bb \u0441\u043d\u0438\u043c\u0430\u044e \u0438 \u043d\u0438\u043a\u0430\u043a\u043e\u0433\u043e \u0434\u0440\u0443\u0433\u043e\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u0430 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0432\u043c\u0435\u0441\u0442\u043e \u043d\u0435\u0451 \u043d\u0435 \u0441\u0442\u0430\u0432\u043b\u044e, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043f\u0435\u0440\u0435\u0444\u0440\u0430\u0437 \u0438 \u0441\u043c\u0435\u043d\u0443 \u043f\u043e\u0440\u044f\u0434\u043a\u0430 \u0441\u043b\u043e\u0432 \u0448\u0438\u043d\u0433\u043b\u044b \u043d\u0435 \u043b\u043e\u0432\u044f\u0442.<\/p>\n<p>\u0412\u0442\u043e\u0440\u0430\u044f, \u043f\u0440\u043e 354 \u0441\u043b\u043e\u0432\u0430 \u043e\u0431\u0449\u0435\u0433\u043e \u043c\u0435\u043d\u044e: \u043f\u043e\u043f\u0430\u0434\u0438 \u043c\u0435\u043d\u044e \u0432 \u0432\u044b\u0431\u043e\u0440\u043a\u0443, 0,07 \u0431\u044b\u043b\u043e \u0431\u044b \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e. \u041e\u043d\u043e \u0438 \u043d\u0435 \u043f\u043e\u043f\u0430\u043b\u043e, \u0444\u0438\u043b\u044c\u0442\u0440 \u043f\u043e landmark \u0435\u0433\u043e \u0432\u044b\u0440\u0435\u0437\u0430\u0435\u0442. \u0411\u0435\u0437 \u0444\u0438\u043b\u044c\u0442\u0440\u0430 \u043d\u0430 \u0442\u043e\u043c \u0436\u0435 \u0442\u0435\u043a\u0441\u0442\u0435 <code>J=0.115  C=0.208<\/code>, \u0442\u043e \u0435\u0441\u0442\u044c \u0416\u0430\u043a\u043a\u0430\u0440 \u0432\u044b\u0440\u043e\u0441 \u043d\u0430 \u0448\u0435\u0441\u0442\u044c\u0434\u0435\u0441\u044f\u0442 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u043e\u0432 \u043d\u0430 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0445 \u0448\u0438\u043d\u0433\u043b\u0430\u0445 \u043e\u0431\u0432\u044f\u0437\u043a\u0438. \u042d\u0442\u043e \u0438 \u0435\u0441\u0442\u044c \u0441\u043f\u043e\u0441\u043e\u0431 \u043e\u0442\u043b\u0438\u0447\u0438\u0442\u044c \u043e\u0431\u0449\u0438\u0439 \u043a\u0430\u0440\u043a\u0430\u0441 \u043e\u0442 \u0434\u0443\u0431\u043b\u0435\u0439: \u043f\u043e\u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0434\u0432\u0430\u0436\u0434\u044b, \u0441 \u0444\u0438\u043b\u044c\u0442\u0440\u043e\u043c \u0438 \u0431\u0435\u0437.<\/p>\n<p>\u0422\u0440\u0435\u0442\u044c\u044f, \u043a \u0432\u0435\u0440\u0434\u0438\u043a\u0442\u0443: \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u0435 \u043e\u043f\u0440\u043e\u0432\u0435\u0440\u0433\u043b\u043e \u0433\u0438\u043f\u043e\u0442\u0435\u0437\u0443 \u043f\u0440\u043e \u0434\u0443\u0431\u043b\u0438, \u043d\u043e \u0432\u043e\u043f\u0440\u043e\u0441 \u043e \u0446\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u043d\u0435 \u0441\u043d\u0438\u043c\u0430\u0435\u0442. \u0423 Google scaled content abuse \u044d\u0442\u043e \u043f\u0440\u043e \u0441\u043f\u043e\u0441\u043e\u0431 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u0430 \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043d\u0443\u044e \u0446\u0435\u043d\u043d\u043e\u0441\u0442\u044c, \u0430 \u043d\u0435 \u043f\u0440\u043e \u043b\u0435\u043a\u0441\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043f\u0435\u0440\u0435\u0441\u0435\u0447\u0435\u043d\u0438\u0435, \u0438 69 \u0441\u0442\u0440\u0430\u043d\u0438\u0446 \u043f\u043e \u043e\u0434\u043d\u043e\u043c\u0443 \u043a\u0430\u0440\u043a\u0430\u0441\u0443 \u0441 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0440\u043e\u0437\u043e\u0439 \u043e\u0441\u0442\u0430\u044e\u0442\u0441\u044f \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442\u043e\u043c \u0432 doorway. \u041b\u0435\u0447\u0430\u0442 \u0442\u0430\u043a\u043e\u0435 \u0440\u0430\u0437\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435, \u0446\u0435\u043d\u044b, \u043a\u0435\u0439\u0441\u044b \u0438 \u0440\u0430\u0437\u043d\u044b\u0439 intent; \u0448\u0438\u043d\u0433\u043b\u0438 \u0442\u0443\u0442 \u043d\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442. \u0420\u0430\u0437\u043d\u0438\u0446\u0430 \u0432 \u0441\u0442\u043e\u0438\u043c\u043e\u0441\u0442\u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f: \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u0442\u044c 69 \u0442\u0435\u043a\u0441\u0442\u043e\u0432 \u044d\u0442\u043e \u043d\u0435\u0434\u0435\u043b\u0438, \u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0448\u0430\u0431\u043b\u043e\u043d \u0434\u043d\u0438.<\/p>\n<h3>\u0427\u0442\u043e \u043f\u0440\u043e\u0441\u0435\u043b\u043e \u0438 \u0432\u044b\u0440\u043e\u0441\u043b\u043e \u0432 \u043c\u043e\u0435\u0439 \u0441\u0432\u043e\u0434\u043d\u043e\u0439 \u0448\u043a\u0430\u043b\u0435<\/h3>\n<p>\u0412\u0435\u0441\u043e\u0432 \u044d\u0442\u043e\u0439 \u0448\u043a\u0430\u043b\u044b \u0443 \u0432\u0430\u0441 \u043d\u0435\u0442, \u0430 \u043e\u0434\u0438\u043d \u0435\u0451 \u0431\u043b\u043e\u043a \u043c\u0435\u0436\u0434\u0443 \u043f\u0440\u043e\u0433\u043e\u043d\u0430\u043c\u0438 \u043c\u0435\u043d\u044f\u043b\u0441\u044f. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u0434\u0430\u043d\u0430 \u043a\u0430\u043a \u0441\u043f\u0438\u0441\u043e\u043a \u043d\u0430\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u0439, \u0430 \u043d\u0435 \u043a\u0430\u043a \u0430\u0440\u0438\u0444\u043c\u0435\u0442\u0438\u043a\u0430 \u0441\u0432\u043e\u0434\u043d\u043e\u0433\u043e \u0431\u0430\u043b\u043b\u0430.<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p align=\"left\">\u041d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435<\/p>\n<\/th>\n<th>\n<p align=\"left\">04.09<\/p>\n<\/th>\n<th>\n<p align=\"left\">27.09<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u0427\u0442\u043e \u0437\u0430 \u044d\u0442\u0438\u043c<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0426\u0438\u0442\u0438\u0440\u0443\u0435\u043c\u043e\u0441\u0442\u044c \u0438 \u0434\u043e\u0441\u0442\u0443\u043f \u0418\u0418<\/p>\n<\/td>\n<td>\n<p align=\"left\">71<\/p>\n<\/td>\n<td>\n<p align=\"left\">54<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0432\u0435\u0441 \u043e\u043a\u043e\u043b\u043e \u0447\u0435\u0442\u0432\u0435\u0440\u0442\u0438 \u0438\u0442\u043e\u0433\u0430, \u043e\u0442\u043a\u0430\u0437\u044b \u043f\u043e\u0434 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u043c \u043e\u0431\u0445\u043e\u0434\u043e\u043c<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0422\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0431\u0430\u0437\u0430<\/p>\n<\/td>\n<td>\n<p align=\"left\">85<\/p>\n<\/td>\n<td>\n<p align=\"left\">70<\/p>\n<\/td>\n<td>\n<p align=\"left\">HTML 259-269 \u041a\u0411 \u043d\u0430 \u0433\u043b\u0430\u0432\u043d\u043e\u0439, \u0434\u043e\u043b\u044f \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0433\u043e \u0442\u0435\u043a\u0441\u0442\u0430 3,3%<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u041a\u043e\u043d\u0442\u0435\u043d\u0442<\/p>\n<\/td>\n<td>\n<p align=\"left\">56<\/p>\n<\/td>\n<td>\n<p align=\"left\">47<\/p>\n<\/td>\n<td>\n<p align=\"left\">682 \u0437\u0430\u043f\u0438\u0441\u0438 \u0438\u0437 918 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0434\u0430\u0442\u0443 \u00ab\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044c 2026\u00bb<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435<\/p>\n<\/td>\n<td>\n<p align=\"left\">73<\/p>\n<\/td>\n<td>\n<p align=\"left\">66<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u043b\u043e\u0433\u043e\u0442\u0438\u043f \u0438 \u043f\u0440\u0435\u0432\u044c\u044e \u0432 \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0435 \u043e\u0441\u0442\u0430\u043b\u0438\u0441\u044c \u043e\u0442 \u0441\u0442\u0430\u0440\u043e\u0433\u043e \u0441\u0430\u0439\u0442\u0430, 404<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0413\u043e\u0442\u043e\u0432\u043d\u043e\u0441\u0442\u044c \u043f\u043e\u0434 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b<\/p>\n<\/td>\n<td>\n<p align=\"left\">42<\/p>\n<\/td>\n<td>\n<p align=\"left\">51<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0430 FAQ, \u0441\u043b\u043e\u0432\u0430\u0440\u044c \u0442\u0435\u0440\u043c\u0438\u043d\u043e\u0432, \u0443\u0441\u043b\u0443\u0433\u0438 \u0441 \u0446\u0435\u043d\u043e\u0439, \u0430\u0432\u0442\u043e\u0440\u0441\u0442\u0432\u043e<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0410\u0432\u0442\u043e\u0440\u0438\u0442\u0435\u0442 \u0431\u0440\u0435\u043d\u0434\u0430<\/p>\n<\/td>\n<td>\n<p align=\"left\">13<\/p>\n<\/td>\n<td>\n<p align=\"left\">33<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0438\u0437 \u043d\u0438\u0445 16 \u0431\u0430\u043b\u043b\u043e\u0432 \u044d\u0442\u043e \u043f\u0440\u0430\u0432\u043a\u0430 \u0441\u0430\u043c\u043e\u0439 \u0448\u043a\u0430\u043b\u044b<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u041f\u0440\u043e \u0431\u0440\u0435\u043d\u0434: \u044f \u0434\u043e\u0431\u0430\u0432\u0438\u043b \u0431\u043b\u043e\u043a, \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0432 \u0448\u043a\u0430\u043b\u0435 \u043d\u0435 \u0431\u044b\u043b\u043e, \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438, \u0438 \u0432 \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0435 \u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u044e\u0440\u043b\u0438\u0446\u043e, \u0418\u041d\u041d, \u041e\u0413\u0420\u041d, \u0430\u0434\u0440\u0435\u0441, \u043e\u0441\u043d\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u0438 \u043f\u0440\u043e\u0444\u0438\u043b\u0438. \u041d\u043e \u043f\u043e \u043f\u0440\u0435\u0436\u043d\u0435\u0439 \u0448\u043a\u0430\u043b\u0435, \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u0438\u043c\u043e\u0439 \u0441 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044c\u0441\u043a\u0438\u043c\u0438 13, \u0432\u044b\u0445\u043e\u0434\u0438\u0442 17, \u0430 \u043d\u0435 33. \u0427\u0438\u0441\u0442\u044b\u0439 \u043f\u0440\u0438\u0440\u043e\u0441\u0442 \u0437\u0430 23 \u0434\u043d\u044f 4 \u0431\u0430\u043b\u043b\u0430, \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 16 \u044d\u0442\u043e \u0443\u0442\u043e\u0447\u043d\u0435\u043d\u0438\u0435 \u043b\u0438\u043d\u0435\u0439\u043a\u0438. \u041e\u0442\u0441\u044e\u0434\u0430 \u0438 \u0440\u0430\u0437\u0431\u0440\u043e\u0441 48,5-52.<\/p>\n<p>\u041c\u0438\u043d\u0443\u0441 15 \u043f\u043e \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0431\u0430\u0437\u0435 \u0434\u0430\u043b \u043f\u043e\u0447\u0442\u0438 \u0446\u0435\u043b\u0438\u043a\u043e\u043c \u0432\u0435\u0441 HTML. \u041f\u043e\u0440\u043e\u0433 \u044f \u0432\u0437\u044f\u043b \u0443 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430, <code>page_weight_bytes &gt; 200_000<\/code> \u0432 <code>core\/agent_access.py<\/code>, \u0438 \u0432 \u0441\u0432\u043e\u0435\u0439 \u0448\u043a\u0430\u043b\u0435 \u043d\u0435 \u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u043b, \u0438 \u044d\u0442\u043e \u043f\u0435\u0440\u0435\u043a\u043e\u0441: 260 \u041a\u0411 \u0434\u043b\u044f \u0442\u0435\u043c\u044b \u043d\u0430 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u0435 \u043d\u043e\u0440\u043c\u0430, \u0430 \u043c\u043e\u0434\u0435\u043b\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0441 \u0442\u0435\u043a\u0441\u0442\u043e\u043c \u043f\u043e\u0441\u043b\u0435 \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u044f. \u041f\u0440\u043e \u0434\u0430\u0442\u044b \u0430\u043a\u043a\u0443\u0440\u0430\u0442\u043d\u0435\u0435: \u0443 \u043e\u0434\u043d\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438 \u0434\u0430\u0442\u0430 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043e\u043a\u0430\u0437\u0430\u043b\u0430\u0441\u044c \u0440\u0430\u043d\u044c\u0448\u0435 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438, \u0438 \u044f \u043d\u0430\u0437\u0432\u0430\u043b \u044d\u0442\u043e \u043f\u0440\u044f\u043c\u044b\u043c \u0441\u0438\u0433\u043d\u0430\u043b\u043e\u043c \u043d\u0435\u0434\u043e\u0441\u0442\u043e\u0432\u0435\u0440\u043d\u043e\u0441\u0442\u0438 \u0434\u043b\u044f \u043c\u0430\u0448\u0438\u043d\u044b. \u041f\u0443\u0431\u043b\u0438\u0447\u043d\u043e \u044d\u0442\u043e \u043d\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e \u043d\u0438 \u0434\u043b\u044f \u043e\u0434\u043d\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438, \u044d\u0442\u043e \u044d\u0432\u0440\u0438\u0441\u0442\u0438\u043a\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430. \u0420\u0435\u0430\u043b\u044c\u043d\u044b\u0439 \u0432\u0440\u0435\u0434 \u0434\u0440\u0443\u0433\u043e\u0439: \u0441\u0431\u0438\u0442\u0430\u044f \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0430, \u043a\u0430\u043d\u043d\u0438\u0431\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0441\u0432\u0435\u0436\u0435\u0441\u0442\u0438 \u0438 682 \u0437\u0430\u043f\u0438\u0441\u0438, \u0432\u044b\u0433\u043b\u044f\u0434\u044f\u0449\u0438\u0435 \u043a\u0430\u043a \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044f \u0437\u0430 \u043e\u0434\u0438\u043d \u043c\u0435\u0441\u044f\u0446. \u041f\u043e\u0447\u0438\u043d\u0438\u043b \u0447\u0435\u0440\u0435\u0437 <code>wp-cli<\/code> \u043f\u0430\u043a\u0435\u0442\u043d\u044b\u043c \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435\u043c <code>post_date<\/code>.<\/p>\n<p>\u041e\u043f\u043e\u0440\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u0438 \u0434\u043b\u044f \u0448\u043a\u0430\u043b\u044b \u0443 \u043c\u0435\u043d\u044f \u043d\u0435 \u0431\u044b\u043b\u043e \u0432\u043e\u0432\u0441\u0435. \u0427\u0442\u043e\u0431\u044b \u043f\u043e\u043d\u044f\u0442\u044c \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0440\u0430\u0437\u0431\u0440\u043e\u0441, \u043f\u0440\u043e\u0433\u043d\u0430\u043b \u0442\u0435\u043c \u0436\u0435 <code>geo audit --url<\/code> \u0433\u043b\u0430\u0432\u043d\u044b\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0447\u0435\u0442\u044b\u0440\u0451\u0445 \u0441\u0430\u0439\u0442\u043e\u0432 \u0442\u043e\u0433\u043e \u0436\u0435 \u043f\u0440\u043e\u0444\u0438\u043b\u044f, \u043f\u043e \u043e\u0434\u043d\u043e\u043c\u0443 \u043f\u0440\u043e\u0433\u043e\u043d\u0443 30.09: 45, 33, 51 \u0438 54. \u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u043a\u043e\u0440\u0438\u0434\u043e\u0440 \u043b\u0435\u0436\u0438\u0442 \u0432 \u0440\u0430\u0439\u043e\u043d\u0435 30-55, \u0430 \u043c\u043e\u044f \u0433\u043b\u0430\u0432\u043d\u0430\u044f \u0434\u0430\u0451\u0442 73 \u0438 \u0432 \u043a\u043e\u0440\u0438\u0434\u043e\u0440 \u043d\u0435 \u043f\u043e\u043f\u0430\u0434\u0430\u0435\u0442. \u042d\u0442\u043e \u043f\u043e\u0432\u043e\u0434 \u043d\u0435 \u0440\u0430\u0434\u043e\u0432\u0430\u0442\u044c\u0441\u044f, \u0430 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u0447\u0442\u043e \u0448\u043a\u0430\u043b\u0430 \u0441\u0447\u0438\u0442\u0430\u0435\u0442: \u043d\u0430\u0440\u0435\u0437\u043a\u0443 \u043d\u0430 \u0441\u0435\u043a\u0446\u0438\u0438 \u043e\u043d\u0430 \u043d\u0435 \u0441\u0447\u0438\u0442\u0430\u0435\u0442 \u0432\u043e\u043e\u0431\u0449\u0435, \u0430 \u043f\u043e \u043d\u0435\u0439 \u0443 \u043c\u0435\u043d\u044f \u043d\u043e\u043b\u044c \u043f\u043e\u043f\u0430\u0434\u0430\u043d\u0438\u0439. \u0414\u043e\u043c\u0435\u043d\u044b \u043d\u0435 \u043d\u0430\u0437\u044b\u0432\u0430\u044e: \u043e\u0434\u0438\u043d\u043e\u0447\u043d\u044b\u0439 \u043f\u0440\u043e\u0433\u043e\u043d \u0447\u0443\u0436\u043e\u0439 \u0433\u043b\u0430\u0432\u043d\u043e\u0439 \u043d\u0438\u0447\u0435\u0433\u043e \u043e \u043d\u0435\u0439 \u043d\u0435 \u0434\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0438 \u043e \u0437\u0430\u043c\u0435\u0440\u0435 \u044d\u0442\u0438 \u0441\u0430\u0439\u0442\u044b \u043d\u0435 \u043f\u0440\u043e\u0441\u0438\u043b\u0438.<\/p>\n<h3>\u0427\u0442\u043e \u043f\u0435\u0440\u0435\u043c\u0435\u0440\u0438\u043b \u043f\u043e\u0441\u043b\u0435 \u043f\u043e\u0447\u0438\u043d\u043a\u0438, \u0430 \u0447\u0442\u043e \u043d\u0435\u0442<\/h3>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p align=\"left\">\u0417\u0430\u043c\u0435\u0440<\/p>\n<\/th>\n<th>\n<p align=\"left\">27.09, \u0441\u0443\u0442\u043e\u0447\u043d\u044b\u0439 WordPress<\/p>\n<\/th>\n<th>\n<p align=\"left\">30.09, \u043f\u043e\u0441\u043b\u0435 \u043f\u043e\u0447\u0438\u043d\u043a\u0438<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u041a\u044d\u0448 \u0433\u043b\u0430\u0432\u043d\u043e\u0439<\/p>\n<\/td>\n<td>\n<p align=\"left\"><code>max-age=0<\/code>, <code>vary: Cookie<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\"><code>public, max-age=300<\/code>, <code>vary: Accept-Encoding<\/code><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">25 \u0430\u0434\u0440\u0435\u0441\u043e\u0432 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u043c\u0435\u0434\u0438\u0430\u043d\u0430 7,61 \u0441, \u043c\u0430\u043a\u0441 9 \u0441; \u0430\u0443\u0434\u0438\u0442 \u043f\u0440\u0438 <code>--concurrency 5<\/code> \u0434\u0430\u043b 25 \u0442\u0430\u0439\u043c\u0430\u0443\u0442\u043e\u0432<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u043c\u0435\u0434\u0438\u0430\u043d\u0430 2,5 \u0441, \u043c\u0430\u043a\u0441 4,2 \u0441, \u0442\u0430\u0439\u043c\u0430\u0443\u0442\u043e\u0432 \u043d\u0435\u0442<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0422\u0435\u0433 <code>main<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u043d\u0435\u0442 \u043d\u0438 \u043d\u0430 \u043e\u0434\u043d\u043e\u0439 \u0438\u0437 501 \u043e\u0431\u043e\u0439\u0434\u0451\u043d\u043d\u043e\u0439<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0435\u0441\u0442\u044c<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0421\u043b\u043e\u0432 \u0434\u043e H1<\/p>\n<\/td>\n<td>\n<p align=\"left\">354<\/p>\n<\/td>\n<td>\n<p align=\"left\">252<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0414\u043e\u043b\u044f \u0448\u0430\u0431\u043b\u043e\u043d\u0430, \u0433\u043b\u0430\u0432\u043d\u0430\u044f<\/p>\n<\/td>\n<td>\n<p align=\"left\">0,99 (\u0432\u0435\u0442\u043a\u0430 \u0431\u0435\u0437 landmark)<\/p>\n<\/td>\n<td>\n<p align=\"left\">0,47 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442, 0,45 \u0441\u0432\u043e\u0439 \u0441\u043a\u0440\u0438\u043f\u0442<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0421\u0435\u043a\u0446\u0438\u0438 \u0432 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0435, \u0433\u043b\u0430\u0432\u043d\u0430\u044f<\/p>\n<\/td>\n<td>\n<p align=\"left\">0 \u0438\u0437 18 (\u0441\u0447\u0451\u0442\u0447\u0438\u043a \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430)<\/p>\n<\/td>\n<td>\n<p align=\"left\">0 \u0438\u0437 33 (\u0441\u0432\u043e\u0439 \u0441\u043a\u0440\u0438\u043f\u0442)<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0416\u0430\u043a\u043a\u0430\u0440 \u043c\u0435\u0436\u0434\u0443 \u0443\u0441\u043b\u0443\u0433\u0430\u043c\u0438<\/p>\n<\/td>\n<td>\n<p align=\"left\">0,068-0,070 (\u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442)<\/p>\n<\/td>\n<td>\n<p align=\"left\">0,072-0,076 (\u0441\u0432\u043e\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f)<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u0412 \u0434\u0432\u0443\u0445 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0445 \u0441\u0442\u0440\u043e\u043a\u0430\u0445 \u0441\u043c\u0435\u043d\u0438\u043b\u0441\u044f \u043d\u0435 \u0441\u0430\u0439\u0442, \u0430 \u0438\u0437\u043c\u0435\u0440\u0438\u0442\u0435\u043b\u044c: \u0441\u0435\u043a\u0446\u0438\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0440\u0435\u0436\u0435\u0442 \u043f\u043e \u0441\u0432\u043e\u0435\u0439 \u043b\u043e\u0433\u0438\u043a\u0435, \u0448\u0438\u043d\u0433\u043b\u0438 \u0441\u0447\u0438\u0442\u0430\u0435\u0442 \u0441\u0432\u043e\u0438\u043c \u0442\u043e\u043a\u0435\u043d\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u043c. \u0421\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u0438\u0439 \u043f\u0440\u043e\u0433\u043e\u043d \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 \u0434\u0430\u0451\u0442 \u0442\u0435 \u0436\u0435 18 \u0441\u0435\u043a\u0446\u0438\u0439, \u0447\u0442\u043e \u0438 27.09, \u0430 \u0440\u0430\u0441\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0435 \u043f\u043e \u0416\u0430\u043a\u043a\u0430\u0440\u0443 \u043b\u0435\u0436\u0438\u0442 \u0432 \u043f\u0440\u0435\u0434\u0435\u043b\u0430\u0445 \u0440\u0430\u0437\u043d\u0438\u0446\u044b \u0442\u043e\u043a\u0435\u043d\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u0432. \u0421\u0435\u043a\u0446\u0438\u0438 \u043e\u0441\u0442\u0430\u043b\u0438\u0441\u044c \u043d\u0443\u043b\u0451\u043c: \u0440\u0430\u0437\u0431\u043e\u0440 \u0434\u0435\u043a\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u0445 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u043e\u0432 \u0432 \u0448\u0430\u0431\u043b\u043e\u043d\u0435 \u044f \u043d\u0435 \u0441\u0434\u0435\u043b\u0430\u043b. \u0422\u0440\u0435\u0442\u044c\u0435\u0433\u043e \u0441\u0432\u043e\u0434\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0433\u043e\u043d\u0430 \u043d\u0435\u0442, \u0438 \u0446\u0438\u0444\u0440\u0443 54,4, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u044f \u0441\u0442\u0430\u0432\u0438\u043b \u0432 \u043f\u0435\u0440\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438, \u0441\u043d\u0438\u043c\u0430\u044e: \u043e\u043d\u0430 \u043f\u043e\u0441\u0447\u0438\u0442\u0430\u043d\u0430 \u0431\u0435\u0437 \u0437\u0430\u043c\u0435\u0440\u0430, \u043f\u043e \u0434\u0432\u0443\u043c \u043f\u043e\u0447\u0438\u043d\u0435\u043d\u043d\u044b\u043c \u0434\u0435\u0444\u0435\u043a\u0442\u0430\u043c.<\/p>\n<p>\u0413\u043b\u0430\u0432\u043d\u043e\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f: \u0432\u0442\u043e\u0440\u043e\u0439 \u0437\u0430\u043c\u0435\u0440 \u0441\u0434\u0435\u043b\u0430\u043d \u0447\u0435\u0440\u0435\u0437 \u0441\u0443\u0442\u043a\u0438 \u043f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0435\u0435\u0437\u0434\u0430, \u0430 \u044d\u0442\u043e \u0445\u0443\u0434\u0448\u0430\u044f \u0442\u043e\u0447\u043a\u0430. \u0421\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0432\u044b\u043b\u0435\u0436\u0430\u0432\u0448\u0430\u044f\u0441\u044f \u0441\u0442\u0430\u0442\u0438\u043a\u0430 \u0441 \u0441\u0443\u0442\u043e\u0447\u043d\u044b\u043c WordPress, \u0443 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043a\u044d\u0448 \u043d\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d, \u0440\u0435\u0434\u0438\u0440\u0435\u043a\u0442\u044b \u043d\u0435 \u0443\u0441\u0442\u0430\u043a\u0430\u043d\u0435\u043d\u044b, \u043a\u0430\u0440\u0442\u0430 \u0441\u0430\u0439\u0442\u0430 \u043f\u0435\u0440\u0435\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044f. \u0427\u0430\u0441\u0442\u044c \u043c\u0438\u043d\u0443\u0441\u0430 \u043e\u0431\u044a\u044f\u0441\u043d\u044f\u0435\u0442\u0441\u044f \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u043e\u043c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438, \u0430 \u043d\u0435 CMS. \u041f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u0437\u0430\u043c\u0435\u0440 \u044d\u0442\u043e \u0442\u0435 \u0436\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0447\u0435\u0440\u0435\u0437 \u0434\u0432\u0435-\u0447\u0435\u0442\u044b\u0440\u0435 \u043d\u0435\u0434\u0435\u043b\u0438.<\/p>\n<h3>\u0427\u0435\u0433\u043e \u044f \u043d\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u043b<\/h3>\n<p>\u0420\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u0446\u0438\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0439 \u0432 ChatGPT, Perplexity \u0438 \u042f\u043d\u0434\u0435\u043a\u0441 \u041d\u0435\u0439\u0440\u043e \u043d\u0435 \u0441\u043d\u0438\u043c\u0430\u043b, \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u044b\u0445 \u043b\u043e\u0433\u043e\u0432 \u043d\u0435 \u0441\u043c\u043e\u0442\u0440\u0435\u043b, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441 \u043a\u0430\u043a\u043e\u0439 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e \u0438 \u0441 \u043a\u0430\u043a\u0438\u043c \u0441\u0432\u043e\u0438\u043c \u0442\u0430\u0439\u043c\u0430\u0443\u0442\u043e\u043c \u0445\u043e\u0434\u044f\u0442 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0435 \u043e\u0431\u0445\u043e\u0434\u0447\u0438\u043a\u0438, \u043d\u0435 \u0437\u043d\u0430\u044e. \u0424\u0440\u0430\u0437\u0443 \u00ab\u0440\u043e\u0431\u043e\u0442\u044b \u0445\u043e\u0434\u044f\u0442 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e, \u0438 \u043f\u043e\u0434 \u0438\u0445 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u043e\u0439 \u0441\u0430\u0439\u0442 \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u0451\u0442 \u0443\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u0442\u0430\u0439\u043c\u0438\u043d\u0433\u0438\u00bb \u0441\u043d\u0438\u043c\u0430\u044e: \u043e\u043d\u0430 \u043d\u0435 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0430, \u0430 Googlebot \u0432\u043e\u043e\u0431\u0449\u0435 \u0441\u043d\u0438\u0436\u0430\u0435\u0442 \u0442\u0435\u043c\u043f \u043f\u0440\u0438 \u0440\u043e\u0441\u0442\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043e\u0442\u0432\u0435\u0442\u0430. \u0418\u0437\u043c\u0435\u0440\u0435\u043d\u043e \u0440\u043e\u0432\u043d\u043e \u043e\u0434\u043d\u043e: \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0441 \u0431\u044e\u0434\u0436\u0435\u0442\u043e\u043c 10 \u0441\u0435\u043a\u0443\u043d\u0434 \u043d\u0430 \u0430\u0434\u0440\u0435\u0441 \u043d\u0435 \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 \u043f\u0440\u0438 <code>--concurrency 5<\/code>. \u041e\u0433\u043e\u0432\u043e\u0440\u043a\u0438 \u043f\u043e \u043a\u044d\u0448\u0443, \u043e\u0442\u0440\u0435\u043d\u0434\u0435\u0440\u0435\u043d\u043d\u043e\u043c\u0443 DOM \u0438 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u043c\u0443 \u044d\u043a\u0441\u0442\u0440\u0430\u043a\u0442\u043e\u0440\u0443 \u0441\u0442\u043e\u044f\u0442 \u043f\u043e \u043c\u0435\u0441\u0442\u0443 \u0432\u044b\u0448\u0435, \u0437\u0434\u0435\u0441\u044c \u043d\u0435 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u044e.<\/p>\n<p>\u0412\u043a\u043b\u0430\u0434 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u0432 \u0434\u0435\u043b\u044c\u0442\u0443 \u043d\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u0451\u043d: \u043c\u0435\u0436\u0434\u0443 \u0437\u0430\u043c\u0435\u0440\u0430\u043c\u0438 \u0431\u044b\u043b\u043e \u043c\u0438\u043d\u0438\u043c\u0443\u043c \u0447\u0435\u0442\u044b\u0440\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u044f, \u043f\u0435\u0440\u0435\u0435\u0437\u0434, \u043f\u043e\u043a\u0443\u043f\u043d\u0430\u044f \u0442\u0435\u043c\u0430, \u0441\u043b\u0438\u044f\u043d\u0438\u0435 \u0431\u0430\u0437 \u0441 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u044c\u044e \u0434\u0430\u0442 \u0438 \u043f\u0440\u0430\u0432\u043a\u0430 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u043c\u0435\u0442\u043e\u0434\u0438\u043a\u0438, \u043f\u043b\u044e\u0441 \u0434\u0432\u0435 \u043f\u043e\u0447\u0438\u043d\u043a\u0438 \u043f\u043e \u0445\u043e\u0434\u0443. \u041c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0443 \u043c\u0435\u043d\u044f \u043d\u0435\u0442, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0444\u0440\u0430\u0437\u0443 \u00ab\u043f\u043e\u043d\u0438\u043c\u0430\u0435\u043c, \u0447\u0442\u043e \u0432\u044b\u0437\u0432\u0430\u043d\u043e \u043f\u0435\u0440\u0435\u0435\u0437\u0434\u043e\u043c, \u0430 \u0447\u0442\u043e \u043d\u0430\u0448\u0435\u0439 \u0440\u0430\u0431\u043e\u0442\u043e\u0439\u00bb \u0442\u043e\u0436\u0435 \u0441\u043d\u0438\u043c\u0430\u044e.<\/p>\n<h3>\u0427\u0442\u043e \u043f\u043e\u043c\u0435\u043d\u044f\u043b \u0443 \u0441\u0435\u0431\u044f<\/h3>\n<p>\u041d\u0435 \u00ab\u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u043f\u0440\u0438 \u043b\u044e\u0431\u043e\u043c \u043f\u0435\u0440\u0435\u0435\u0437\u0434\u0435\u00bb: \u0432\u044b\u0431\u043e\u0440\u043a\u0430 \u044d\u0442\u043e 9 \u0441\u0442\u0440\u0430\u043d\u0438\u0446 \u0438\u0437 501 \u0438 \u043e\u0434\u0438\u043d \u043f\u0440\u043e\u0433\u043e\u043d.<\/p>\n<p>\u041c\u0435\u0440\u044f\u044e \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u043c \u043e\u0431\u0445\u043e\u0434\u043e\u043c \u0438 \u0434\u0435\u0440\u0436\u0443 \u0431\u044e\u0434\u0436\u0435\u0442 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u043e\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043e\u0442\u0432\u0435\u0442\u0430: <code>--concurrency 1<\/code> \u043a\u0430\u043a \u0442\u043e\u0447\u043a\u0430 \u043e\u0442\u0441\u0447\u0451\u0442\u0430, \u043f\u043e\u0442\u043e\u043c <code>--concurrency 5<\/code>, \u043c\u0435\u0436\u0434\u0443 \u043d\u0438\u043c\u0438 \u043f\u043e\u0440\u043e\u0433 \u043e\u0442\u043a\u0430\u0437\u0430. \u0412 \u043a\u044d\u0448\u0435 \u0434\u043b\u044f WordPress \u0441 \u0437\u0430\u043b\u043e\u0433\u0438\u043d\u0435\u043d\u043d\u044b\u043c\u0438 \u0441\u0435\u0441\u0441\u0438\u044f\u043c\u0438 <code>Cookie<\/code> \u0438\u0437 <code>vary<\/code> \u0443\u0431\u0440\u0430\u043d, \u0430 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043f\u043e \u0441\u0435\u0441\u0441\u0438\u044f\u043c \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c \u0438\u0437 \u043a\u044d\u0448\u0430 \u043f\u043e \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u043c cookie \u0437\u0430\u043b\u043e\u0433\u0438\u043d\u0435\u043d\u043d\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f. \u0428\u0438\u043d\u0433\u043b\u0438 \u0441\u0447\u0438\u0442\u0430\u044e \u0434\u0432\u0430\u0436\u0434\u044b, \u0441 \u0444\u0438\u043b\u044c\u0442\u0440\u043e\u043c \u043f\u043e landmark \u0438 \u0431\u0435\u0437: \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 0,072 \u0438 0,115 \u0438 \u0435\u0441\u0442\u044c \u043e\u0442\u0432\u0435\u0442, \u043a\u0430\u0440\u043a\u0430\u0441 \u043e\u0431\u0449\u0438\u0439 \u0438\u043b\u0438 \u0442\u0435\u043a\u0441\u0442. \u0421\u043c\u043e\u0442\u0440\u044e \u043d\u0430 \u0440\u0430\u0437\u0440\u044b\u0432 \u043c\u0435\u0436\u0434\u0443 \u0441\u0440\u0435\u0434\u043d\u0435\u0439 \u0438 \u043c\u0435\u0434\u0438\u0430\u043d\u043e\u0439 \u0434\u043b\u0438\u043d\u044b \u0441\u0435\u043a\u0446\u0438\u0438: \u0441\u0440\u0435\u0434\u043d\u044f\u044f 19 \u043f\u0440\u0438 \u043c\u0435\u0434\u0438\u0430\u043d\u0435 14 \u0438 \u043d\u0443\u043b\u0435 \u043f\u043e\u043f\u0430\u0434\u0430\u043d\u0438\u0439, \u0442\u0430\u043a \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0432\u0451\u0440\u0441\u0442\u043a\u0438, \u0430 \u043d\u0435 \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430.<\/p>\n<p>\u0418 \u043f\u0435\u0440\u0435\u0434 \u0442\u0435\u043c \u043a\u0430\u043a \u0432\u0435\u0440\u0438\u0442\u044c \u0431\u0430\u043b\u043b\u0443, \u0447\u0438\u0442\u0430\u044e \u0432\u0435\u0441\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 \u0438 \u0435\u0433\u043e \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043a\u0438. \u0423 \u043c\u0435\u043d\u044f \u0434\u0432\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u043f\u0440\u0438\u0433\u043e\u0434\u043d\u043e\u0441\u0442\u0438 \u043a \u0446\u0438\u0442\u0430\u0442\u0435 \u0434\u043b\u044f \u0440\u0443\u0441\u0441\u043a\u043e\u0433\u043e \u0442\u0435\u043a\u0441\u0442\u0430 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 \u0432\u043e\u043e\u0431\u0449\u0435, \u0438 \u0431\u0435\u0437 \u0447\u0442\u0435\u043d\u0438\u044f \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432 \u044d\u0442\u043e \u043d\u0435 \u0432\u0438\u0434\u043d\u043e.<\/p>\n<h3>\u0418\u0442\u043e\u0433<\/h3>\n<p>\u0428\u0435\u0441\u0442\u044c \u0443\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0439 \u043f\u0435\u0440\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u044d\u0442\u043e\u0433\u043e \u0440\u0430\u0437\u0431\u043e\u0440\u0430 \u044f \u0441\u043d\u044f\u043b, \u0438 \u0441\u043d\u044f\u043b\u0438\u0441\u044c \u043e\u043d\u0438 \u043d\u0435 \u043d\u043e\u0432\u044b\u043c\u0438 \u0437\u0430\u043c\u0435\u0440\u0430\u043c\u0438, \u0430 \u0447\u0442\u0435\u043d\u0438\u0435\u043c \u0442\u043e\u0433\u043e, \u0447\u0435\u043c \u043c\u0435\u0440\u0438\u043b: \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u044b, \u0434\u0432\u0435 \u0432\u0435\u0442\u043a\u0438 \u043e\u0434\u043d\u043e\u0439 \u0444\u043e\u0440\u043c\u0443\u043b\u044b \u0438 \u0434\u0432\u0435 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043a\u0438 \u043d\u0430 \u043b\u0430\u0442\u0438\u043d\u0438\u0446\u0435. \u041f\u043e\u0440\u044f\u0434\u043e\u043a \u043e\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u043e\u0431\u0440\u0430\u0442\u043d\u044b\u043c \u043f\u0440\u0438\u0432\u044b\u0447\u043d\u043e\u043c\u0443: \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430, \u043f\u043e\u0442\u043e\u043c \u0435\u0433\u043e \u0447\u0438\u0441\u043b\u0430, \u043f\u043e\u0442\u043e\u043c \u0432\u044b\u0432\u043e\u0434\u044b \u043f\u0440\u043e \u0441\u0430\u0439\u0442. \u041f\u044f\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u044c \u043c\u0438\u043d\u0443\u0442 \u043d\u0430 \u0447\u0442\u0435\u043d\u0438\u0435 \u0432\u0435\u0441\u043e\u0432 \u0438 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043e\u043a \u044d\u043a\u043e\u043d\u043e\u043c\u044f\u0442 \u043d\u0435\u0434\u0435\u043b\u044e \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u043e \u043b\u043e\u0436\u043d\u043e\u043c\u0443 \u0432\u0435\u0440\u0434\u0438\u043a\u0442\u0443.<\/p>\n<hr\/>\n<p>\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440 \u0420\u0435\u043c\u0438\u0448\u0435\u0432\u0441\u043a\u0438\u0439. \u0414\u0440\u0443\u0433\u0438\u0435 <a href=\"https:\/\/neurounit.ai\/blog\/\" rel=\"noopener nofollow\">\u0440\u0430\u0437\u0431\u043e\u0440\u044b \u043f\u043e SEO, GEO \u0438 \u0418\u0418-\u043f\u043e\u0438\u0441\u043a\u0443<\/a>.<\/p>\n<\/div>\n<p>\u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/1088754\/\">https:\/\/habr.com\/ru\/articles\/1088754\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>4 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f 2026 \u044f \u043f\u0440\u043e\u0433\u043d\u0430\u043b \u0441\u0432\u043e\u0439 \u0441\u0430\u0439\u0442 \u043d\u0430 \u043f\u0440\u0438\u0433\u043e\u0434\u043d\u043e\u0441\u0442\u044c \u043a \u0446\u0438\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u0418\u0418-\u043f\u043e\u0438\u0441\u043a\u043e\u0432\u0438\u043a\u0430\u043c\u0438, \u0442\u043e\u0433\u0434\u0430 \u043e\u043d \u0431\u044b\u043b \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c HTML. 27 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f, \u0447\u0435\u0440\u0435\u0437 \u0441\u0443\u0442\u043a\u0438 \u043f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0435\u0435\u0437\u0434\u0430 \u043d\u0430 WordPress \u0441 \u043f\u043e\u043a\u0443\u043f\u043d\u043e\u0439 \u0442\u0435\u043c\u043e\u0439, \u043f\u0440\u043e\u0433\u043d\u0430\u043b \u0435\u0449\u0451 \u0440\u0430\u0437. \u0412\u043e \u0432\u0442\u043e\u0440\u043e\u043c \u043f\u0440\u043e\u0433\u043e\u043d\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0432\u0435\u0440\u043d\u0443\u043b Timeout (10s) \u043d\u0430 \u0432\u0441\u0435\u0445 25 \u0430\u0434\u0440\u0435\u0441\u0430\u0445 \u0438\u0437 \u043a\u0430\u0440\u0442\u044b \u0441\u0430\u0439\u0442\u0430 \u0438 \u0441\u0440\u0435\u0434\u043d\u0438\u0439 \u0431\u0430\u043b\u043b \u043d\u043e\u043b\u044c, \u0445\u043e\u0442\u044f \u043e\u0434\u0438\u043d\u043e\u0447\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u043e\u0442\u0434\u0430\u0432\u0430\u043b\u0430\u0441\u044c \u0437\u0430 0,3-1,8 \u0441\u0435\u043a\u0443\u043d\u0434\u044b.\u0421 \u044d\u0442\u043e\u0433\u043e \u0438 \u043d\u0430\u0447\u043d\u0443. \u0421\u0432\u043e\u0434\u043d\u044b\u0435 \u0431\u0430\u043b\u043b\u044b \u043f\u043e \u0441\u0432\u043e\u0435\u0439 \u0448\u043a\u0430\u043b\u0435 \u0443 \u043c\u0435\u043d\u044f \u0442\u043e\u0436\u0435 \u0435\u0441\u0442\u044c, 56 \u0438 52, \u043d\u043e \u0432\u0435\u0441\u043e\u0432 \u044d\u0442\u043e\u0439 \u0448\u043a\u0430\u043b\u044b \u0443 \u0432\u0430\u0441 \u043d\u0435\u0442, \u0430 \u043e\u0434\u0438\u043d \u0435\u0451 \u0431\u043b\u043e\u043a \u044f \u043c\u0435\u0436\u0434\u0443 \u043f\u0440\u043e\u0433\u043e\u043d\u0430\u043c\u0438 \u043f\u0440\u0430\u0432\u0438\u043b: \u043a\u0430\u043a \u0434\u0435\u043b\u044c\u0442\u0443 \u0441\u0430\u0439\u0442\u0430 \u044d\u0442\u0438 \u0434\u0432\u0430 \u0447\u0438\u0441\u043b\u0430 \u0447\u0438\u0442\u0430\u0442\u044c \u043d\u0435\u043b\u044c\u0437\u044f, \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u0437\u0430\u043c\u0435\u0440\u0430 48,5-52. \u0412\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u043c\u0430\u044f \u0446\u0438\u0444\u0440\u0430 \u0437\u0434\u0435\u0441\u044c \u0434\u0440\u0443\u0433\u0430\u044f, \u0441\u0440\u0435\u0434\u043d\u0438\u0439 per-page \u0431\u0430\u043b\u043b \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 \u043f\u043e 25 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\u043c: 74,4. \u041e\u043d\u0430 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 geo audit &#8212;sitemap \u0438\u0437 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0430.\u041c\u0430\u0441\u0448\u0442\u0430\u0431, \u0447\u0442\u043e\u0431\u044b \u0434\u0430\u043b\u044c\u0448\u0435 \u0431\u044b\u043b\u043e \u043a \u0447\u0435\u043c\u0443 \u043f\u0440\u0438\u0432\u044f\u0437\u044b\u0432\u0430\u0442\u044c\u0441\u044f: 1088 \u0430\u0434\u0440\u0435\u0441\u043e\u0432 \u0432 \u043a\u0430\u0440\u0442\u0435 \u0441\u0430\u0439\u0442\u0430, 501 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0432 SEO-\u043e\u0431\u0445\u043e\u0434\u0435, 918 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u0431\u043b\u043e\u0433\u0430 \u0438 682 \u0438\u0437 \u043d\u0438\u0445 \u0441 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0439 \u0434\u0430\u0442\u043e\u0439, 69 \u0434\u043e\u0447\u0435\u0440\u043d\u0438\u0445 \u0441\u0442\u0440\u0430\u043d\u0438\u0446 \u0443\u0441\u043b\u0443\u0433 \u043f\u043e \u043e\u0434\u043d\u043e\u043c\u0443 \u043a\u0430\u0440\u043a\u0430\u0441\u0443, 25 \u0430\u0434\u0440\u0435\u0441\u043e\u0432 \u0432 \u043d\u0430\u0433\u0440\u0443\u0437\u043e\u0447\u043d\u043e\u043c \u043f\u0440\u043e\u0433\u043e\u043d\u0435. \u0412 \u0437\u0430\u043c\u0435\u0440\u0435 \u0446\u0438\u0442\u0438\u0440\u0443\u0435\u043c\u043e\u0441\u0442\u0438 9 \u0441\u0442\u0440\u0430\u043d\u0438\u0446 \u0438 98 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0445 \u0431\u043b\u043e\u043a\u043e\u0432, \u0434\u0432\u0430 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u0430 \u0441\u0430\u0439\u0442\u0430, \u0438 \u0432\u0441\u0451 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0435 \u0441\u043f\u0440\u0430\u0432\u0435\u0434\u043b\u0438\u0432\u043e \u0434\u043b\u044f \u044d\u0442\u0438\u0445 \u0434\u0432\u0443\u0445 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u043e\u0432.\u0427\u0435\u043c \u043c\u0435\u0440\u0438\u043bgeo-optimizer, CLI 4.18.2. \u041f\u0430\u043a\u0435\u0442 \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0439 \u0438 \u043a\u043e \u043c\u043d\u0435 \u043d\u0438\u043a\u0430\u043a \u043d\u0435 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0441\u044f: geo-optimizer-skill \u0432 PyPI, \u0430\u0432\u0442\u043e\u0440 Juan Camilo Auriti, \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044f MIT, \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 auriti-labs\/geo-optimizer-skill \u043d\u0430 GitHub. \u0412\u0435\u0440\u0441\u0438\u044e \u0444\u0438\u043a\u0441\u0438\u0440\u0443\u044e, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u044b \u0438 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043a\u0438 \u043d\u0438\u0436\u0435 \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d\u044b \u0438\u043c\u0435\u043d\u043d\u043e \u043a 4.18.2, \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u0441\u0442\u0440\u043e\u043a\u0438 \u043f\u043e\u0435\u0434\u0443\u0442. \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u043b\u0435\u0436\u0430\u0442 \u0432 venv \u0443\u0442\u0438\u043b\u0438\u0442\u044b, \u043f\u0443\u0442\u044c \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 uv tool dir. \u0412\u044b\u0432\u043e\u0434 \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u0438\u0439, \u0445\u043e\u0442\u044f &#8212;lang \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e it: \u0444\u043b\u0430\u0433 \u0436\u0438\u0432\u0451\u0442 \u043d\u0430 \u0432\u0435\u0440\u0445\u043d\u0435\u043c \u0443\u0440\u043e\u0432\u043d\u0435, \u043d\u0435 \u0443 \u043f\u043e\u0434\u043a\u043e\u043c\u0430\u043d\u0434\u044b, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 geo audit &#8212;lang en \u043f\u0430\u0434\u0430\u0435\u0442 \u0441 \u00abNo such option\u00bb, \u0430 geo &#8212;lang en audit &#8212;url &#8230; \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442.uv tool install &#171;geo-optimizer-skill[mcp]&#187;geo audit &#8212;url https:\/\/example.com &#8212;format jsongeo audit &#8212;sitemap https:\/\/example.com\/sitemap.xml &#8212;max-urls 25 &#8212;concurrency 1 &#8212;format json\u0411\u0430\u043b\u043b \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443, \u0438\u0437 \u0432\u043e\u0441\u044c\u043c\u0438 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0439, \u0441\u0443\u043c\u043c\u0430 \u0440\u043e\u0432\u043d\u043e 100. \u0412\u0435\u0441\u0430 \u0432 models\/config.py, \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u0430 CATEGORY_MAX: robots 18, llms 18, schema 16, meta 14, content 12, brand_entity 10, signals 6, ai_discovery 6. \u041f\u043b\u044e\u0441 \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 negative_penalty, \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0432 \u0441\u0430\u043c\u043e\u0439 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u0435 \u043d\u0435\u0442. \u041f\u0440\u043e\u0433\u043e\u043d \u0433\u043b\u0430\u0432\u043d\u043e\u0439 30.09.2026:{ &#171;score&#187;: 73, &#171;band&#187;: &#171;good&#187;,  &#171;score_breakdown&#187;: {    &#171;robots&#187;: 15, &#171;llms&#187;: 14, &#171;schema&#187;: 10, &#171;meta&#187;: 14, &#171;content&#187;: 12,    &#171;signals&#187;: 5, &#171;ai_discovery&#187;: 0, &#171;brand_entity&#187;: 6, &#171;negative_penalty&#187;: -3 } }\u041e\u0442\u0441\u044e\u0434\u0430 \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u043e\u043f\u0440\u043e\u0441 \u0432\u0441\u0435\u0445, \u043a\u0442\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0443 \u0441\u0435\u0431\u044f: \u043f\u043e\u0447\u0435\u043c\u0443 \u0441\u0440\u0435\u0434\u043d\u0438\u0439 \u0431\u0430\u043b\u043b \u043f\u043e 25 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\u043c 74,4, \u0430 \u0441\u0432\u043e\u0434\u043d\u044b\u0439 \u043f\u043e \u0441\u0430\u0439\u0442\u0443 52. 74,4 \u044d\u0442\u043e \u0441\u0440\u0435\u0434\u043d\u0435\u0435 per-page \u0431\u0430\u043b\u043b\u043e\u0432 \u0438\u0437 \u0440\u0430\u0437\u0431\u0438\u0432\u043a\u0438 \u0432\u044b\u0448\u0435. 52 \u0441\u0447\u0438\u0442\u0430\u0435\u0442 \u043c\u043e\u044f \u0441\u0432\u043e\u0434\u043d\u0430\u044f \u0448\u043a\u0430\u043b\u0430 \u043f\u043e\u0432\u0435\u0440\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430, \u0441\u043e \u0441\u0432\u043e\u0438\u043c\u0438 \u0432\u0435\u0441\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u044f \u043c\u0435\u0436\u0434\u0443 \u043f\u0440\u043e\u0433\u043e\u043d\u0430\u043c\u0438 \u0435\u0449\u0451 \u0438 \u043f\u0440\u0430\u0432\u0438\u043b. \u0421\u0432\u0435\u0441\u0442\u0438 \u0438\u0445 \u0430\u0440\u0438\u0444\u043c\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0435\u043b\u044c\u0437\u044f, \u0438 \u044d\u0442\u043e \u043c\u043e\u044f \u043d\u0435\u0434\u043e\u0434\u0435\u043b\u043a\u0430: \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0441\u0447\u0438\u0442\u0430\u0435\u0442 \u043a\u0430\u043a \u0437\u0430\u044f\u0432\u043b\u0435\u043d\u043e. \u0421\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u0438\u043c\u0430\u044f \u0434\u043b\u044f \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u044f \u0446\u0438\u0444\u0440\u0430 per-page.\u0418 \u043d\u0438 \u043e\u0434\u043d\u0430 \u0438\u0437 \u0432\u043e\u0441\u044c\u043c\u0438 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0439 \u043d\u0435 \u0441\u0447\u0438\u0442\u0430\u0435\u0442 \u043d\u0430\u0440\u0435\u0437\u043a\u0443 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u043d\u0430 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u044b: rag_chunk \u0438 context_window \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u043f\u0435\u0447\u0430\u0442\u0430\u0435\u0442, \u043d\u043e \u0432 100 \u0431\u0430\u043b\u043b\u043e\u0432 \u043e\u043d\u0438 \u043d\u0435 \u0432\u0445\u043e\u0434\u044f\u0442. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0433\u043b\u0430\u0432\u043d\u0430\u044f \u043d\u0430\u0431\u0438\u0440\u0430\u0435\u0442 73 \u043f\u0440\u0438 \u043d\u0443\u043b\u0435\u0432\u043e\u0439 \u043f\u0440\u0438\u0433\u043e\u0434\u043d\u043e\u0441\u0442\u0438 \u043a \u0446\u0438\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u043f\u043e \u043d\u0430\u0440\u0435\u0437\u043a\u0435.\u00abTimeout (10s)\u00bb \u044d\u0442\u043e \u043d\u0435 \u0442\u0430\u0439\u043c\u0430\u0443\u0442 \u043e\u0434\u043d\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u041f\u0440\u043e\u0433\u043e\u043d \u043f\u043e \u043a\u0430\u0440\u0442\u0435 \u0441\u0430\u0439\u0442\u0430 \u043f\u0440\u0438 &#8212;concurrency 5 \u0432\u0435\u0440\u043d\u0443\u043b 25 \u043e\u0442\u043a\u0430\u0437\u043e\u0432 Timeout (10s) \u0438\u0437 25 \u0430\u0434\u0440\u0435\u0441\u043e\u0432 \u0438 \u0441\u0440\u0435\u0434\u043d\u0438\u0439 \u0431\u0430\u043b\u043b \u043d\u043e\u043b\u044c. \u0422\u043e\u0442 \u0436\u0435 \u043f\u0440\u043e\u0433\u043e\u043d \u043f\u0440\u0438 &#8212;concurrency 1 \u043f\u0440\u043e\u0448\u0451\u043b \u0446\u0435\u043b\u0438\u043a\u043e\u043c, \u0441\u0440\u0435\u0434\u043d\u0438\u0439 74,4. \u0414\u0435\u0441\u044f\u0442\u044c \u0441\u0435\u043a\u0443\u043d\u0434 \u043e\u0442\u0432\u0435\u0434\u0435\u043d\u044b \u043d\u0435 \u043d\u0430 \u043e\u0434\u0438\u043d \u0437\u0430\u043f\u0440\u043e\u0441, \u0430 \u043d\u0430 \u0432\u0435\u0441\u044c \u0430\u0443\u0434\u0438\u0442 \u043e\u0434\u043d\u043e\u0433\u043e \u0430\u0434\u0440\u0435\u0441\u0430:# core\/batch_audit.py, \u0441\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u043esemaphore = asyncio.Semaphore(concurrency)async def _worker(url):    async with semaphore:        try:            return await asyncio.wait_for(_audit_single_url(url, &#8230;),                                          timeout=AUDIT_TIMEOUT_SECONDS)   # = 10        except asyncio.TimeoutError:            return &#8230; error=f&#187;Timeout ({AUDIT_TIMEOUT_SECONDS}s)&#187;\u0421\u0431\u043e\u0440\u043a\u0443 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u0438\u0437 \u0432\u0440\u0435\u0437\u043a\u0438 \u044f \u0432\u044b\u043a\u0438\u043d\u0443\u043b, \u0432\u0430\u0436\u043d\u044b \u0441\u0435\u043c\u0430\u0444\u043e\u0440, wait_for \u0438 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 \u043b\u043e\u0433\u0435.\u0412\u043d\u0443\u0442\u0440\u0438 _audit_single_url \u043d\u0435 \u043e\u0434\u0438\u043d \u0437\u0430\u043f\u0440\u043e\u0441, \u0430 \u043f\u0430\u0447\u043a\u0430: \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430, robots.txt, llms.txt, llms-full.txt, \/.well-known\/ai.txt, \/ai\/summary.json, \/ai\/faq.json, \/ai\/service.json, \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438 \u0431\u043e\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0442\u044f\u043d\u0435\u0442 \u0442\u0443 \u0436\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0435\u0449\u0451 \u0448\u0435\u0441\u0442\u044c \u0440\u0430\u0437 \u043f\u043e\u0434 \u0448\u0435\u0441\u0442\u044c\u044e User-Agent, \u043f\u043b\u044e\u0441 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c. \u041f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u043d\u0430\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u043f\u044f\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432. \u041e\u0434\u0438\u043d\u043e\u0447\u043d\u044b\u0439 \u0430\u0443\u0434\u0438\u0442 \u0433\u043b\u0430\u0432\u043d\u043e\u0439 30.09: audit_duration_ms: 2944 \u043f\u0440\u0438 \u043e\u0442\u0432\u0435\u0442\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0437\u0430 0,16 \u0441. \u0417\u043d\u0430\u0447\u0438\u0442 &#8212;concurrency 5 \u044d\u0442\u043e \u043f\u044f\u0442\u044c \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u0445 \u043f\u0430\u0447\u0435\u043a \u043f\u043e \u043f\u044f\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u044c, \u0430 \u043d\u0435 \u043f\u044f\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432, \u0438 \u0432 \u043f\u043e\u043b\u0451\u0442\u0435 \u0434\u0435\u0440\u0436\u0438\u0442\u0441\u044f \u043f\u043e\u0440\u044f\u0434\u043a\u0430 \u0441\u0435\u043c\u0438\u0434\u0435\u0441\u044f\u0442\u0438. \u041f\u043e\u0440\u043e\u0433 \u043e\u0442\u043a\u0430\u0437\u0430 \u043b\u0435\u0436\u0438\u0442 \u043c\u0435\u0436\u0434\u0443 1 \u0438 5, \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u044f \u0435\u0433\u043e \u043d\u0435 \u0438\u0441\u043a\u0430\u043b.\u0414\u0430\u043b\u044c\u0448\u0435 \u044d\u0442\u043e \u043b\u043e\u0432\u0438\u0442\u0441\u044f \u0431\u0435\u0437 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430, \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c \u043d\u0430\u0434\u043e \u043c\u0435\u0434\u0438\u0430\u043d\u0443 \u0441 \u043c\u0435\u0434\u0438\u0430\u043d\u043e\u0439: \u0441\u0440\u0435\u0434\u043d\u044f\u044f \u043f\u0440\u044f\u0447\u0435\u0442 \u0432\u044b\u0431\u0440\u043e\u0441\u044b, \u0430 \u0440\u043e\u0431\u043e\u0442\u0443 \u0432\u0430\u0436\u0435\u043d \u0445\u0432\u043e\u0441\u0442. \u041e\u0433\u043e\u0432\u043e\u0440\u043a\u0430, \u0431\u0435\u0437 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0447\u0438\u0441\u043b\u0430 \u043d\u0438\u0436\u0435 \u043d\u0435 \u0447\u0438\u0442\u0430\u044e\u0442\u0441\u044f: \u043e\u043d\u0438 \u0441\u043d\u044f\u0442\u044b \u043d\u0430 25 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u0445, \u0430 \u043e\u0442\u043a\u0430\u0437\u044b \u043f\u0440\u0438\u0448\u043b\u0438 \u043d\u0430 &#8212;concurrency 5, \u0433\u0434\u0435 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0430\u0434\u0440\u0435\u0441\u043e\u0432 \u043f\u044f\u0442\u044c. \u041f\u0440\u044f\u043c\u043e \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0440\u0435\u0436\u0438\u043c\u044b \u043d\u0435\u043b\u044c\u0437\u044f, 25-\u043f\u043e\u0442\u043e\u0447\u043d\u044b\u0439 \u043f\u0440\u043e\u0433\u043e\u043d \u044d\u0442\u043e \u0441\u0430\u043c\u0430\u044f \u0431\u043b\u0438\u0437\u043a\u0430\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430\u044f \u043c\u043d\u0435 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u044f \u043f\u043e \u0447\u0438\u0441\u043b\u0443 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0432 \u043f\u043e\u043b\u0451\u0442\u0435.#!\/usr\/bin\/env bash# load.sh https:\/\/example.com 25    # \u0432\u0442\u043e\u0440\u043e\u0439 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442 \u044d\u0442\u043e \u043f\u043e\u0442\u043e\u043a\u0438, \u0430\u0434\u0440\u0435\u0441\u043e\u0432 \u0432\u0441\u0435\u0433\u0434\u0430 25SITE=&#187;$1&#8243;; N=&#187;${2:-5}&#187;; UA=&#187;Mozilla\/5.0 (compatible; load-probe)&#187;locs() { curl -s &#171;$1&#187; | grep -oE &#8216;&lt;loc&gt;[^&lt;]+&#8217; | sed &#8216;s\/&lt;loc&gt;\/\/&#8217;; }# sitemap.xml \u0447\u0430\u0441\u0442\u043e \u0438\u043d\u0434\u0435\u043a\u0441: \u0435\u0441\u043b\u0438 \u0432\u043d\u0443\u0442\u0440\u0438 \u043e\u0434\u043d\u0438 .xml, \u0441\u043f\u0443\u0441\u043a\u0430\u0435\u043c\u0441\u044f \u043d\u0430 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u043d\u0438\u0436\u0435locs &#171;$SITE\/sitemap.xml&#187; &gt; lvl.txtif ! grep -qvE &#8216;\\.xml($|\\?)&#8217; lvl.txt; then  : &gt; lvl2.txt; while read -r s; do locs &#171;$s&#187; &gt;&gt; lvl2.txt; done &lt; lvl.txt  mv lvl2.txt lvl.txtfisort -u lvl.txt | head -25 &gt; urls.txtmstat() { sort -n | awk &#8216;{t[NR]=$1} END{ m=(NR%2)?t[(NR+1)\/2]:(t[NR\/2]+t[NR\/2+1])\/2  printf &#187;  n=%d  \u043c\u0435\u0434\u0438\u0430\u043d\u0430 %.2f s  \u043c\u0430\u043a\u0441 %.2f s\\n&#187;, NR, m, t[NR]}&#8217;; }probe() { curl -s -o \/dev\/null -A &#171;$UA&#187; &#8212;max-time 30 -w &#8216;%{time_total}\\n&#8217; &#171;$1&#187;; }export -f probe; export UAwhile read -r u; do probe &#171;$u&#187;; done &lt; urls.txt | mstat          # \u043f\u043e \u043e\u0434\u043d\u043e\u043c\u0443xargs -P &#171;$N&#187; -I{} bash -c &#8216;probe &#171;$@&#187;&#8216; _ {} &lt; urls.txt | mstat  # N \u043f\u043e\u0442\u043e\u043a\u043e\u0432\u043f\u043e \u043e\u0434\u043d\u043e\u043c\u0443:             n=25  \u043c\u0435\u0434\u0438\u0430\u043d\u0430 0.51 s  \u043c\u0430\u043a\u0441 0.60 s\u0442\u0435 \u0436\u0435 25 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e:  n=25  \u043c\u0435\u0434\u0438\u0430\u043d\u0430 2.57 s  \u043c\u0430\u043a\u0441 4.22 s\u041f\u0435\u0440\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u044d\u0442\u043e\u0433\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u043c\u043e\u043b\u0447\u0430 \u043c\u0435\u0440\u0438\u043b\u0430 \u0441\u0430\u043c sitemap-\u0438\u043d\u0434\u0435\u043a\u0441: \u0443 WordPress \u043f\u043e \/sitemap.xml \u043b\u0435\u0436\u0438\u0442 \u0441\u043f\u0438\u0441\u043e\u043a \u043a\u0430\u0440\u0442, \u0430 \u043d\u0435 \u0441\u043f\u0438\u0441\u043e\u043a \u0441\u0442\u0440\u0430\u043d\u0438\u0446, \u0438 \u0432 urls.txt \u043f\u043e\u043f\u0430\u0434\u0430\u043b\u0438 \u0447\u0435\u0442\u044b\u0440\u0435 XML-\u0444\u0430\u0439\u043b\u0430 \u0432\u043c\u0435\u0441\u0442\u043e 25 HTML-\u0441\u0442\u0440\u0430\u043d\u0438\u0446. \u0415\u0441\u043b\u0438 n \u0443 \u0432\u0430\u0441 \u043c\u0435\u043d\u044c\u0448\u0435 \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u043e\u0433\u043e, \u0432\u044b \u0438\u0437\u043c\u0435\u0440\u0438\u043b\u0438 XML, \u0430 \u043d\u0435 \u0440\u0435\u043d\u0434\u0435\u0440.\u0427\u0438\u0441\u043b\u0430 \u0441\u043d\u044f\u0442\u044b \u0443\u0436\u0435 \u043f\u043e\u0441\u043b\u0435 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a\u044d\u0448\u0430. \u041f\u0440\u0438 -P 5 \u0434\u0435\u0433\u0440\u0430\u0434\u0430\u0446\u0438\u0438 \u043d\u0435\u0442: \u043c\u0435\u0434\u0438\u0430\u043d\u0430 0,51 \u0441, \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c 1,38 \u0441, \u043a\u0430\u043a \u043f\u0440\u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u043c \u043f\u0440\u043e\u0445\u043e\u0434\u0435. \u041f\u0440\u0438 25 \u043f\u043e\u0442\u043e\u043a\u0430\u0445 \u043e\u0442\u043a\u043b\u0438\u043a \u0440\u0430\u0441\u0442\u0451\u0442 \u0432\u043f\u044f\u0442\u0435\u0440\u043e, \u0438 \u0437\u0430\u043f\u0430\u0441 \u0434\u043e \u0434\u0435\u0441\u044f\u0442\u0438\u0441\u0435\u043a\u0443\u043d\u0434\u043d\u043e\u0433\u043e \u0431\u044e\u0434\u0436\u0435\u0442\u0430 \u043c\u0435\u043d\u044c\u0448\u0435, \u0447\u0435\u043c \u043a\u0430\u0436\u0435\u0442\u0441\u044f \u043f\u043e \u043e\u0434\u0438\u043d\u043e\u0447\u043d\u043e\u043c\u0443 \u0437\u0430\u043c\u0435\u0440\u0443. \u0420\u0430\u0437\u0431\u0440\u043e\u0441 \u043c\u0435\u0436\u0434\u0443 \u043f\u0440\u043e\u0433\u043e\u043d\u0430\u043c\u0438 \u0435\u0441\u0442\u044c: \u0442\u043e\u0442 \u0436\u0435 \u0441\u043a\u0440\u0438\u043f\u0442 \u0432 \u0434\u0440\u0443\u0433\u043e\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0434\u043d\u044f \u0434\u0430\u043b 0,36 \u0438 2,46 \u0441 \u043f\u043e \u043c\u0435\u0434\u0438\u0430\u043d\u0435, \u0442\u043e \u0435\u0441\u0442\u044c \u0440\u0430\u0437\u0440\u044b\u0432 \u043c\u0435\u0436\u0434\u0443 \u0440\u0435\u0436\u0438\u043c\u0430\u043c\u0438 \u043f\u044f\u0442\u044c-\u0441\u0435\u043c\u044c \u0440\u0430\u0437.\u0423\u0441\u043b\u043e\u0432\u0438\u044f \u0437\u0430\u043c\u0435\u0440\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0442 \u0442\u0430\u0439\u043c\u0438\u043d\u0433\u0438: \u043e\u0434\u043d\u0430 \u043c\u0430\u0448\u0438\u043d\u0430, \u043e\u0434\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435, \u043e\u0434\u043d\u0430 \u0442\u043e\u0447\u043a\u0430 \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u044f, &#8212;max-time 30, \u043f\u043e\u0434\u043c\u0435\u043d\u0435\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0438\u043c\u044f \u0440\u043e\u0431\u043e\u0442\u0430, \u043e\u0434\u0438\u043d \u043f\u0440\u043e\u0433\u043e\u043d \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0440\u0435\u0436\u0438\u043c\u0430. \u041f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u043e\u0445\u043e\u0434 \u0438\u0434\u0451\u0442 \u043f\u0435\u0440\u0432\u044b\u043c \u0438 \u043f\u0440\u043e\u0433\u0440\u0435\u0432\u0430\u0435\u0442 \u043a\u044d\u0448, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u0435 \u0447\u0438\u0441\u043b\u0430 \u0437\u0430\u043d\u0438\u0436\u0435\u043d\u044b.\u041a\u044d\u0448, \u0434\u043e\u0441\u0442\u0443\u043f \u0431\u043e\u0442\u043e\u0432 \u0438 \u0447\u0435\u0433\u043e \u044f \u043d\u0435 \u0434\u043e\u043a\u0430\u0437\u0430\u043b\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438 \u0441\u043d\u0438\u043c\u0430\u044e\u0442\u0441\u044f \u043e\u0434\u043d\u043e\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439: curl -sSI \u043f\u043b\u044e\u0441 grep -iE &#8216;^(cache-control|vary|age|x-cache|cf-cache-status|etag)&#8217;. max-age=0 \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u043f\u043e\u043b\u043d\u044b\u0439 \u0440\u0435\u043d\u0434\u0435\u0440 \u043d\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441, Cookie \u0432\u043d\u0443\u0442\u0440\u0438 vary \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u043a\u044d\u0448 \u043d\u0435 \u043f\u0435\u0440\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043c\u0435\u0436\u0434\u0443 \u0432\u0438\u0437\u0438\u0442\u0430\u043c\u0438, age \u0438 x-cache \u043e\u0437\u043d\u0430\u0447\u0430\u044e\u0442, \u0447\u0442\u043e \u043f\u0435\u0440\u0435\u0434 \u0441\u0430\u0439\u0442\u043e\u043c \u0441\u0442\u043e\u0438\u0442 \u0440\u0430\u0437\u0434\u0435\u043b\u044f\u0435\u043c\u044b\u0439 \u043a\u044d\u0448 \u0438 \u043e\u043d \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442.\u0411\u044b\u043b\u043e: max-age=0, vary: Cookie. \u0421\u0442\u0430\u043b\u043e: public, max-age=300, vary: Accept-Encoding, server: Apache, \u043e\u0442\u0432\u0435\u0442 \u0437\u0430 0,163 \u0441. \u041d\u0438 age, \u043d\u0438 x-cache, \u043d\u0438 cf-*, \u0442\u043e \u0435\u0441\u0442\u044c CDN \u043d\u0435\u0442. \u041e\u0433\u043e\u0432\u043e\u0440\u043a\u0430 \u043a\u043e \u0432\u0441\u0435\u043c\u0443 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e: \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u043e\u0432 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044c\u0441\u043a\u043e\u0439 \u0441\u0442\u0430\u0442\u0438\u043a\u0438 \u043d\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u043b\u043e\u0441\u044c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0443\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0442\u044c, \u0447\u0442\u043e \u043e\u0431\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0436\u0438\u043b\u0438 \u043d\u0430 \u043e\u0434\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435, \u044f \u0441\u0442\u0440\u043e\u0433\u043e \u043d\u0435 \u043c\u043e\u0433\u0443, \u0438 \u0447\u0430\u0441\u0442\u044c \u0434\u0435\u043b\u044c\u0442\u044b \u043f\u043e \u0442\u0430\u0439\u043c\u0438\u043d\u0433\u0430\u043c \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435\u043c \u043f\u043b\u043e\u0449\u0430\u0434\u043e\u043a, \u0430 \u043d\u0435 CMS.\u041e\u0442\u043a\u0440\u044b\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u0418\u0418-\u043e\u0431\u0445\u043e\u0434\u0447\u0438\u043a\u0430\u043c \u0432 robots.txt \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u044d\u0442\u043e \u0440\u0430\u0437\u043d\u044b\u0435 \u0444\u0430\u043a\u0442\u044b: \u0443 Cloudflare \u0435\u0441\u0442\u044c \u0442\u0443\u043c\u0431\u043b\u0435\u0440 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438 \u0418\u0418-\u0441\u043a\u0440\u0430\u043f\u0435\u0440\u043e\u0432, \u043e\u0442\u0434\u0430\u044e\u0449\u0438\u0439 403 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u043e\u0442 \u0444\u0430\u0439\u043b\u0430. \u0423 \u043c\u0435\u043d\u044f \u0432 \u0444\u0430\u0439\u043b\u0435 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0430\u044f \u0433\u0440\u0443\u043f\u043f\u0430 \u0441 Allow: \/ \u043d\u0430 \u0434\u0435\u0441\u044f\u0442\u044c \u0430\u0433\u0435\u043d\u0442\u043e\u0432: GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Claude-Web, Claude-User, Claude-SearchBot, PerplexityBot, Perplexity-User, Google-Extended. \u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f \u043f\u043e\u0434 \u0441\u0432\u043e\u0438\u043c \u043d\u0430\u0431\u043e\u0440\u043e\u043c \u0438\u0437 \u0448\u0435\u0441\u0442\u0438 \u0438\u043c\u0451\u043d: GPTBot, OAI-SearchBot, PerplexityBot, Claude-SearchBot, Googlebot, Applebot. \u041d\u0430\u0431\u043e\u0440\u044b \u043f\u0435\u0440\u0435\u0441\u0435\u043a\u0430\u044e\u0442\u0441\u044f \u0432 \u0447\u0435\u0442\u044b\u0440\u0451\u0445, Googlebot \u0438 Applebot \u0443 \u043c\u0435\u043d\u044f \u043f\u043e\u043f\u0430\u0434\u0430\u044e\u0442 \u043f\u043e\u0434 User-agent: *. \u042d\u0442\u043e \u043f\u0435\u0440\u0432\u043e\u0435, \u0447\u0442\u043e \u0441\u0442\u043e\u0438\u0442 \u0441\u0432\u0435\u0440\u0438\u0442\u044c \u0443 \u0441\u0435\u0431\u044f: \u043e\u0431\u0445\u043e\u0434\u0447\u0438\u043a \u0438 \u043f\u043e\u0438\u0441\u043a\u043e\u0432\u044b\u0439 \u0430\u0433\u0435\u043d\u0442 \u0443 \u043e\u0434\u043d\u043e\u0433\u043e \u0432\u0435\u043d\u0434\u043e\u0440\u0430 \u044d\u0442\u043e \u0440\u0430\u0437\u043d\u044b\u0435 \u0438\u043c\u0435\u043d\u0430, \u0433\u0440\u0443\u043f\u043f\u0430 \u043d\u0430 ClaudeBot \u043d\u0435 \u043f\u043e\u043a\u0440\u044b\u0432\u0430\u0435\u0442 Claude-SearchBot, \u0438 \u0442\u0430\u043a\u0438\u0435 \u043f\u0430\u0440\u044b \u043b\u0435\u0433\u043a\u043e \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c. curl -A \u043f\u043e\u0434 \u0432\u0441\u0435\u043c\u0438 \u0448\u0435\u0441\u0442\u044c\u044e \u0438\u043c\u0435\u043d\u0430\u043c\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 \u0434\u0430\u0451\u0442 code=200 \u0438 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0439 \u043e\u0431\u044a\u0451\u043c \u043e\u0442\u0432\u0435\u0442\u0430, 267877 \u0431\u0430\u0439\u0442; \u0431\u043b\u043e\u043a cdn_check \u043d\u0430 \u0442\u0435\u0445 \u0436\u0435 \u0448\u0435\u0441\u0442\u0438 \u043e\u0442\u0434\u0430\u0451\u0442 blocked: false \u0438 challenge_detected: false. \u0421\u043f\u0438\u0441\u043e\u043a \u0431\u043e\u0442\u043e\u0432 \u0432 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 OpenAI, \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \u0444\u0430\u0439\u043b\u0430 \u0432 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 robots.txt. \u041f\u043e\u0434\u043c\u0435\u043d\u0430 User-Agent \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u0441\u0438\u043d\u0442\u0435\u0442\u0438\u043a\u043e\u0439: \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0439 GPTBot \u0445\u043e\u0434\u0438\u0442 \u0438\u0437 \u0441\u0432\u043e\u0438\u0445 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u043e\u0432.\u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u043a\u044d\u0448\u0430 \u043e\u0431\u044a\u044f\u0441\u043d\u044f\u0435\u0442, \u043f\u043e\u0447\u0435\u043c\u0443 \u043a\u0430\u0436\u0434\u044b\u0439 \u043e\u0442\u0432\u0435\u0442 \u044d\u0442\u043e \u0440\u0435\u043d\u0434\u0435\u0440, \u043d\u043e \u043d\u0435 \u043e\u0431\u044a\u044f\u0441\u043d\u044f\u0435\u0442, \u043f\u043e\u0447\u0435\u043c\u0443 \u043f\u043e\u0434 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e\u0439 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u043e\u0439 \u0440\u0435\u043d\u0434\u0435\u0440 \u0440\u0430\u0441\u0442\u0451\u0442 \u0441 1,8 \u0434\u043e 7,6 \u0441\u0435\u043a\u0443\u043d\u0434\u044b. \u0422\u0430\u043a \u0436\u0435 \u0432\u0435\u0434\u0443\u0442 \u0441\u0435\u0431\u044f \u043d\u0435\u0445\u0432\u0430\u0442\u043a\u0430 \u0432\u043e\u0440\u043a\u0435\u0440\u043e\u0432 PHP-FPM (pm.max_children), \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044b\u0439 OPcache, \u043e\u0434\u043d\u043e \u044f\u0434\u0440\u043e, rate limit \u043d\u0430 \u043f\u0440\u043e\u043a\u0441\u0438 \u0438\u043b\u0438 WAF. \u041d\u0438 \u043e\u0434\u043d\u0443 \u0432\u0435\u0440\u0441\u0438\u044e \u044f \u043d\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u043b: \u043d\u0438 pm.status, \u043d\u0438 php -i | grep opcache.enable, \u043d\u0438 slow log \u043f\u043e\u0434 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u043e\u0439, \u043d\u0438 \u043f\u0440\u043e\u0433\u043e\u043d \u0431\u0435\u0437 Cookie. \u0412\u044b\u0432\u043e\u0434 \u00ab\u043b\u0435\u0447\u0438\u0442\u0441\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u043e\u0439 \u043a\u044d\u0448\u0430 \u0437\u0430 \u043f\u043e\u043b\u0434\u043d\u044f\u00bb \u0438\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0435 \u0441\u043b\u0435\u0434\u0443\u0435\u0442, \u043e\u043d \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0438\u0437 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u043f\u043e\u0441\u043b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0447\u0438\u0441\u043b\u0430 \u0441\u0442\u0430\u043b\u0438 \u0434\u0440\u0443\u0433\u0438\u043c\u0438. \u041f\u0440\u0438\u0447\u0438\u043d\u0443 \u044f \u043d\u0435 \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043b.\u0427\u0442\u043e \u0441\u0442\u043e\u0438\u0442 \u0432 \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0435 \u0434\u043e \u043f\u0435\u0440\u0432\u043e\u0433\u043e H1\u0414\u0430\u043b\u044c\u0448\u0435 \u0432\u0441\u0451 \u043d\u0430 html.parser \u0438\u0437 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438. \u041e\u0431\u0451\u0440\u0442\u043a\u0430 \u0432\u044b\u0434\u0430\u0451\u0442 \u043f\u043e\u0442\u043e\u043a \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430: \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438 \u0441 \u0443\u0440\u043e\u0432\u043d\u0435\u043c \u0438 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0435 \u0431\u043b\u043e\u043a\u0438 \u0441 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u043c \u00ab\u0432\u043d\u0443\u0442\u0440\u0438 landmark\u00bb. \u041f\u043e\u0440\u044f\u0434\u043e\u043a \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u044d\u0442\u043e \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0432 \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0435, \u0430 \u043d\u0435 \u043d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435. \u0417\u0430 landmark \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0441\u0447\u0438\u0442\u0430\u0435\u0442 \u043b\u044e\u0431\u043e\u0439 \u0438\u0437 \u0442\u0440\u0451\u0445: \u0442\u0435\u0433 main, \u0442\u0435\u0433 article, \u0430\u0442\u0440\u0438\u0431\u0443\u0442 role=&#187;main&#187;. \u0423 \u043c\u0435\u043d\u044f article \u0432 \u044d\u0442\u043e\u0442 \u043d\u0430\u0431\u043e\u0440 \u043d\u0435 \u0432\u0445\u043e\u0434\u0438\u0442, \u0430 \u0437\u0430\u043a\u0440\u044b\u0442\u0438\u0435 role=&#187;main&#187; \u043d\u0435 \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f; \u043d\u0430 \u043c\u043e\u0438\u0445 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\u0445 \u0432\u0441\u0435 article \u043b\u0435\u0436\u0430\u0442 \u0432\u043d\u0443\u0442\u0440\u0438 main, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0430 \u0447\u0438\u0441\u043b\u0430\u0445 \u044d\u0442\u043e \u043d\u0435 \u0441\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c.# page.py: \u043f\u043e\u0442\u043e\u043a \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430, \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0430\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430import re, urllib.requestfrom html.parser import HTMLParserSKIP = {&#171;script&#187;, &#171;style&#187;, &#171;noscript&#187;, &#171;template&#187;, &#171;svg&#187;, &#171;head&#187;}HEAD = {&#171;h1&#187;, &#171;h2&#187;, &#171;h3&#187;, &#171;h4&#187;, &#171;h5&#187;, &#171;h6&#187;}WORD =&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-496786","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/496786","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=496786"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/496786\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=496786"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=496786"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=496786"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}