Google Search Console a URL adresy signálů

ondrejsotek
Člen | 7
+
0
-

Ř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.

mystik
Člen | 320
+
+1
-

Disallow do robots.txt

Kamil Valenta
Člen | 844
+
0
-

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
+
+1
-

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
+
0
-

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.