Google Search Console a URL adresy signálů
- ondrejsotek
- Člen | 7
Řeším u několika webů, že Google Search Console vyhodnocuje jako chybu „Stránka s přesměrováním“ stránky, kde je v URL odkaz na signál (?do=neco). Když zkusím načíst stránku se signálem pomocí wget, tak se přesměruje pomocí 302 FOUND na URL bez signálu. Pokud ale tu samou stránku zobrazím v prohlížeči, zůstanu na URL se signálem.
Doplnil jsem na weby kontrolu, že pokud existuje v URL parametr do, tak aby se přidal do hlavičky X-Robots-Tag:
if ($this->getHttpRequest()->getQuery('do')!=null)
$this->getHttpResponse()->setHeader('X-Robots-Tag','noindex, nofollow');
Není to asi z pohledu životního cyklu presenteru úplně „košér“ řešení, ale nic jiného mě nenapadlo.
Odkazy na signály v Latte šablonách mám s
rel="nofollow noopener noreferrer"
, ale Google zaindexoval i URL
se signály tvořené v JS přes
$.nette.ajax({ url: {plink jmenosignalu!} })
a tam nofollow
nedokážu přidat.
Tyto úpravy mám nasazené zatím jenom několik dní, je možné že GSC (resp. Googlebotu) to bude trvat delší dobu než to zjistí, ale i tak jsem se chtěl zeptat, jestli s tím má někdo nějaké zkušenosti, příp. to neřešil nějak jinak, díky těm chybám v GSC totiž Google (nejspíš) zablokoval Google Ads.
- Kamil Valenta
- Člen | 844
Já bych se ještě zastavil u samotného problému, než flastrovat následky. Protože nám GSC nikde problémy nehlásí. Zdá se mi podivné, že wget na handle končí 302 a v prohlížeči 200. Wget je také „jen prohlížeč“. Jak ten handle vypadá? Končí při „ne-ajaxovém“ requestu redirectem?
- nightfish
- Člen | 527
Tohle se imho děje kvůli cross-origin kontrole u signálů. Pro
nette/application
3.1 (https://github.com/…omponent.php#L134)
jsme to řešili přidáním atributu
#[\Nette\Application\Attributes\CrossOrigin]
k handle metodě.
- ondrejsotek
- Člen | 7
Kamil Valenta napsal(a):
Já bych se ještě zastavil u samotného problému, než flastrovat následky. Protože nám GSC nikde problémy nehlásí. Zdá se mi podivné, že wget na handle končí 302 a v prohlížeči 200. Wget je také „jen prohlížeč“. Jak ten handle vypadá? Končí při „ne-ajaxovém“ requestu redirectem?
Handle jenom invaliduje jeden snippet a nastaví proměnnou, nic dalšího nedělá, redirekt tam není. Ta informace, že v prohlížeči to zůstane na 200 byla trochu zavádějící, ještě jsem to zkoušel znovu a pokud URL zadám v anonymním okně prohlížeče, tak tam k redirektu dojde taky.