Teknike
Skedari robots.txt
Skedari që u thotë robotëve çfarë mund të marrin; mjeti kontrollon vetëm nëse ekziston.
Çfarë është
robots.txt rri te rrënja e domainit dhe u thotë robotëve cilat rrugë mund të marrin dhe cilat jo.
Ai kontrollon marrjen, jo indeksimin. Kjo është dallimi më i keqkuptuar në gjithë SEO-n: një faqe e bllokuar nga robots.txt mund të shfaqet gjithsesi në rezultate — pa përshkrim, vetëm me URL-në — nëse dikush lidhet me të. Për ta mbajtur jashtë indeksit duhet noindex, dhe për ta lexuar noindex-in roboti duhet ta marrë faqen.
Skedari nuk është mekanizëm sigurie. Ai është kërkesë e sjellshme; robotë keqdashës e shpërfillin, dhe vetë skedari është publik — një listë e rrugëve që nuk do t'i shohin të tjerët është udhërrëfyes për kureshtarin.
Pse ka rëndësi
Gabimi më i shtrenjtë në gjithë SEO-n teknike rri në dy rreshta të këtij skedari:
User-agent: *
Disallow: /Kjo bllokon gjithë sajtin. Ajo është konfigurimi normal i një mjedisi testimi, dhe kur ai publikohet pa u ndryshuar, sajti zhduket nga kërkimi brenda javësh. Nga brenda nuk duket asgjë.
Gabimi i dytë është më i hollë: bllokimi i CSS-së dhe i JavaScript-it. Motori e renderon faqen për të vlerësuar përdorshmërinë mobile; pa stilet, ai sheh një faqe të shpërbërë.
Gabimi i tretë është kombinimi: bllokim në robots.txt dhe noindex te faqja. Atëherë noindex-i nuk lexohet kurrë dhe faqja mbetet në indeks.
Dhe një dallim i rëndësishëm: Disallow: me vlerë bosh do të thotë lejo gjithçka, jo ndalo rrënjën.
Si rregullohet
User-agent: *
Disallow: /admin/
Disallow: /kerko
Allow: /
Sitemap: https://shembull.com/sitemap.xmlHapat:
- Kontrollo faqen live menjëherë pas publikimit: hap
https://domaini.com/robots.txtdhe lexoje. - Mos blloko CSS-në, JavaScript-in dhe imazhet.
- Mos e përdor për fshehje. Për përmbajtje private duhet autentikim.
- Për mosindeksim përdor `noindex`, dhe lëre faqen të merret.
- Shto rreshtin `Sitemap:` me URL absolute.
- Kujdes me `Crawl-delay` — jo të gjithë e respektojnë, dhe një vlerë e madhe e ngadalëson indeksimin.
Si e mat ky mjet
SitemapAnalyzer::checkRobotsTxt() (services/SitemapAnalyzer.php:33) kërkon <baseUrl>/robots.txt. Nëse marrja dështon, jep paralajmërim (:39); nëse jep përgjigje, jep konstatim të kaluar (:43) dhe nxjerr URL-në e sitemap-it me një shprehje të rregullt (:47).
Përmbajtja nuk parsohet më tej nga ky analizues. Një parsues i plotë — me specifikitet User-agent, rregullin e rrugës më të gjatë, wildcard-e * dhe $, dhe Crawl-delay — ekziston veçmas te RobotsPolicy::evaluate() (services/RobotsPolicy.php:281), por ai nuk thirret gjatë analizës së një faqeje.
Çfarë NUK e mat
Kontrolli mat vetëm ekzistencën. Përmbajtja nuk vlerësohet: një robots.txt që bllokon gjithë sajtin me Disallow: / raportohet si kaluar, me tekstin "skedari është i arritshëm". Pra defekti më i shtrenjtë i kësaj fushe kalon si sukses.
Mungesa e robots.txt raportohet si paralajmërim, ndonëse ajo nuk është gabim: pa skedar, gjithçka lejohet, dhe për shumë sajte kjo është pikërisht ajo që duhet.
Nuk kontrollohet as kodi i statusit: funksioni i marrjes (services/SitemapAnalyzer.php:86) kthen përmbajtjen pa dalluar midis 200, 403 dhe një faqeje 404 me trup HTML — kjo e fundit raportohet si robots.txt i gjetur.
Asnjë rregull nuk testohet kundrejt asnjë URL-je.
Mospërputhje midis tekstit të analizuesit dhe matjes
| Teksti i analizuesit | Çfarë ndodh | Si u mat | Burimi |
|---|---|---|---|
| robots.txt found — The robots.txt file is accessible. | Kontrollohet vetëm ekzistenca. 'Disallow: /' — defekti më i shtrenjtë i SEO-s teknike — kalon si sukses. | Përmbajtja përdoret vetëm për të nxjerrë rreshtin Sitemap: me shprehje të rregullt. — matur gjatë 5.10 | services/SitemapAnalyzer.php:43 |
Kodi që e kryen matjen
services/SitemapAnalyzer.php:33— SitemapAnalyzer::checkRobotsTxtservices/SitemapAnalyzer.php:86— SitemapAnalyzer::fetchUrlservices/RobotsPolicy.php:281— RobotsPolicy::evaluate