{"id":4291,"date":"2019-06-09T16:27:36","date_gmt":"2019-06-09T14:27:36","guid":{"rendered":"http:\/\/xn--okazwoka-bpb.pl\/?p=4291"},"modified":"2019-06-08T17:18:26","modified_gmt":"2019-06-08T15:18:26","slug":"javascript-w-seo-jquery-w-seo","status":"publish","type":"post","link":"http:\/\/xn--okazwoka-bpb.pl\/index.php\/2019\/06\/09\/javascript-w-seo-jquery-w-seo\/","title":{"rendered":"JavaScript w SEO &#8211; jQuery w SEO"},"content":{"rendered":"<p>JavaScript i bardzo cz\u0119sto jQuery (lekka biblioteka programistyczna dla j\u0119zyka JavaScript) wykorzystywane s\u0105 w budowie stron. JavaScript zwykle wykorzystuje si\u0119 do dynamicznego \u0142adowania element\u00f3w stron &#8211; czyli bez prze\u0142adowania ca\u0142ego dokumentu (w przegl\u0105darkach kryje si\u0119 to pod nazw\u0105 &#8222;Od\u015bwie\u017c stron\u0119&#8221;). Jest to bardzo wygodne w u\u017cytkowaniu, skraca zwykle czas potrzebny na prze\u0142adowanie odpowiednich element\u00f3w i daje spore dodatkowe mo\u017cliwo\u015bci poprawiaj\u0105ce cho\u0107by UX na stronie.<!--more--><\/p>\n<p>Czy wykorzystanie JavaScript przeszkadza w SEO? Wygl\u0105da na to, \u017ce obecnie Google nie ma wi\u0119kszych problem\u00f3w z przetwarzaniem stron z elementami JavaScript. Osobi\u015bcie nie przesadza\u0142bym z proporcjami &#8211; JavaScript powinien by\u0107 dodatkiem na stronie s\u0142u\u017c\u0105cym do prze\u0142adowania niezb\u0119dnych element\u00f3w, a nie ca\u0142ej struktury strony. Mowa tu o cz\u0119\u015bci front-endowej, czyli tej, do kt\u00f3rej ma dost\u0119p ka\u017cdy u\u017cytkownik stron w\u0142\u0105czaj\u0105c GoogleBota. W cz\u0119\u015bci back-endowej (np. panel admina, panel u\u017cytkownika lub inne tre\u015bci dost\u0119pne po zalogowaniu, do kt\u00f3rych GoogleBot nie ma dost\u0119pu) mo\u017cna sobie pozwoli\u0107\u00a0nawet na zbudowanie ca\u0142o\u015bci w JavaScript, bo backend nie ma nic wsp\u00f3lnego z SEO.<\/p>\n<p>Testowa\u0142em wiele r\u00f3\u017cnych opcji z JavaScript i Google radzi sobie bardzo dobrze. Nie ma problem\u00f3w z odczytaniem link\u00f3w w JavaScript, nie ma problemu z przekierowaniami r\u00f3\u017cnego typu, nie ma problem\u00f3w z odczytaniem tre\u015bci \u0142adowanych do box\u00f3w\u00a0za pomoc\u0105 jQuery (ajax).<\/p>\n<h3>Jak korzysta\u0107 z JavaScript na stronie<\/h3>\n<p>Tak jak wspomnia\u0142em JavaScript powinien by\u0107 wykorzystywany jako dodatek.\u00a0Warto budowa\u0107 strony tak, by w razie niewykonania JavaScriptu u\u017cytkownik, a w szczeg\u00f3lno\u015bci GoogleBot mia\u0142 dost\u0119p do najwa\u017cniejszych tre\u015bci. Dlaczego to robi\u0107? Poniewa\u017c mo\u017ce by\u0107 spory problem w przypadku\u00a0braku dost\u0119pu do dokumentu \u0142adowanego JavaScriptem. A tak mo\u017ce si\u0119 dzia\u0107, gdy\u00a0z jakiego\u015b powodu (cho\u0107by nierozwa\u017cnie stosuj\u0105c robot.txt)\u00a0odetniemy GoogleBotowi dost\u0119p do dodatkowych dokument\u00f3w. Czasem te\u017c sam GoogleBot mo\u017ce uzna\u0107, \u017ce pobieranie dodatkowych dokument\u00f3w nie jest mu po drodze. Nie tylko blokada\u00a0\u0142adowanych dokument\u00f3w mo\u017ce by\u0107 problemem. Mo\u017ce te\u017c by\u0107 zablokowany te\u017c dost\u0119p do samego pliku JavaScript. W takich przypadkach GoogleBot nie widzi ca\u0142ej tre\u015bci, a to mo\u017ce si\u0119 odbi\u0107 niekorzystnie na pozycjach w wyszukiwarce.<\/p>\n<p>Oto kilka przyk\u0142ad\u00f3w racjonalnego wykorzystania JavaScript\/jQuery na stronie:<\/p>\n<ul>\n<li>w formularzach przy walidacji i wysy\u0142aniu danych<\/li>\n<li>przy\u00a0prze\u0142adowywaniu wariant\u00f3w produkt\u00f3w w sklepie<\/li>\n<li>przy aktualizacji sklepowych koszyk\u00f3w i podsumowa\u0144 (ilo\u015b\u0107 sztuk w koszyku, kwota)<\/li>\n<li>og\u00f3lnie przy aktualizacji ma\u0142ych blok\u00f3w tre\u015bci<\/li>\n<li>przy wy\u015bwietlaniu powiadomie\u0144<\/li>\n<li>przy zmienianiu niekt\u00f3rych atrybut\u00f3w np. style, klasy<\/li>\n<li>przy ukrywaniu element\u00f3w<\/li>\n<\/ul>\n<p>A to przyk\u0142ady wykorzystania\u00a0JavaScript\/jQuery na stronie, kt\u00f3rych bym si\u0119 wystrzega\u0142:<\/p>\n<ul>\n<li>zmiana\/\u0142adowanie title, description strony<\/li>\n<li>prze\u0142adowywanie list element\u00f3w w paginacji<\/li>\n<li>\u0142adowanie ca\u0142ej g\u0142\u00f3wnej tre\u015bci strony (np. za pomoc\u0105 Ajax w jQuery)<\/li>\n<\/ul>\n<p>Ale nie oznacza to, \u017ce nie mo\u017cna takich technik stosowa\u0107. Po prostu ja si\u0119 takich wystrzegam.<\/p>\n<h3>Jak sprawdzi\u0107, czy Google renderuje JavaScript?<\/h3>\n<p>No w\u0142a\u015bnie, jak sprawdzi\u0107 czy\u00a0GoogleBot dobrze przetwarza nasz\u0105 stron\u0119 i czy dobrze wykonuje na niej JavaScript? Z pomoc\u0105 przychodzi nam Google Search Console:<\/p>\n<p><img src=\"http:\/\/xn--okazwoka-bpb.pl\/wp-content\/uploads\/2019\/06\/bed8e4ef8dfe3645dbae6b156c52897f.png\" \/><\/p>\n<p>Po zweryfikowaniu w\u0142asno\u015bci strony weryfikujemy dowolny URL. Nast\u0119pnie robimy test wersji opublikowanej. Pojawi\u0105 si\u0119 wtedy nast\u0119puj\u0105ce informacje:<\/p>\n<p><img src=\"http:\/\/xn--okazwoka-bpb.pl\/wp-content\/uploads\/2019\/06\/2fe1e37d6466aafb6032e408e00446ad.png\" \/><\/p>\n<p>Z zasob\u00f3w strony i komunikat\u00f3w konsoli JavaScript dowiemy si\u0119 o b\u0142\u0119dach i zablokowanych\/niedost\u0119pnych zasobach. Trzeba sprawdzi\u0107, czy b\u0142\u0119dy te nie powoduj\u0105 problem\u00f3w z dost\u0119pem do tre\u015bci. Mo\u017cna te\u017c sprawdzi\u0107 zrzut ekranu.<\/p>\n<h3>To stosowa\u0107 JavaScript dla dobrego SEO?<\/h3>\n<p>Jasne, \u017ce tak! Ale ka\u017cde wprowadzenie JavaScript nale\u017cy zweryfikowa\u0107 i sprawdzi\u0107, czy Google z nim sobie radzi (czy poprawnie renderuje) &#8211; szczeg\u00f3lnie, je\u015bli dotyczy to g\u0142\u00f3wnej tre\u015bci. Zrobisz to bez problemu przez Google Search Console.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>JavaScript i bardzo cz\u0119sto jQuery (lekka biblioteka programistyczna dla j\u0119zyka JavaScript) wykorzystywane s\u0105 w budowie stron. JavaScript zwykle&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":4294,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[10],"tags":[],"_links":{"self":[{"href":"http:\/\/xn--okazwoka-bpb.pl\/index.php\/wp-json\/wp\/v2\/posts\/4291"}],"collection":[{"href":"http:\/\/xn--okazwoka-bpb.pl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/xn--okazwoka-bpb.pl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/xn--okazwoka-bpb.pl\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/xn--okazwoka-bpb.pl\/index.php\/wp-json\/wp\/v2\/comments?post=4291"}],"version-history":[{"count":5,"href":"http:\/\/xn--okazwoka-bpb.pl\/index.php\/wp-json\/wp\/v2\/posts\/4291\/revisions"}],"predecessor-version":[{"id":4300,"href":"http:\/\/xn--okazwoka-bpb.pl\/index.php\/wp-json\/wp\/v2\/posts\/4291\/revisions\/4300"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/xn--okazwoka-bpb.pl\/index.php\/wp-json\/wp\/v2\/media\/4294"}],"wp:attachment":[{"href":"http:\/\/xn--okazwoka-bpb.pl\/index.php\/wp-json\/wp\/v2\/media?parent=4291"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/xn--okazwoka-bpb.pl\/index.php\/wp-json\/wp\/v2\/categories?post=4291"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/xn--okazwoka-bpb.pl\/index.php\/wp-json\/wp\/v2\/tags?post=4291"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}