Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ Optymalizacja i pozycjonowanie stron - SEO _ RewriteRule i przyjazne adresy

Napisany przez: mazury 11.02.2022, 16:19:58

Dotychczas moja strona działała na adresach jak poniżej:
domena.com/item.php?id=XXXXXXXXXXXXXXX

Chciałem zmienić na adresy przyjazne seo i dodalem do htaccess
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^item/([^/]{14}) /item.php?id=$1 [L]

No i fajnie po wpisaniu adresu:
domena.com/item/XXXXXXXXXXXXXXX
wyswietla sie zawartosc odpowiedniej strony.

Aby nie bylo problemu duplicate content w kodzie strony dopisalem:

  1. <http://december.com/html/4/element/link.html rel="canonical" href="https://www.domena.com/item/XXXXXXXXXXXXXXX" />


Zastanawia mnie tylko fakt ze google ma zaindeksowane teraz oba adresy url. Czy nie powinno to byc zrobione na przekierowaniach 301 a jesli tak, to w jaki sposób bo w rewrite rules nie jestem zbyt mocny? Z góry dziękuję za podpowiedz.

--
Pozdrawiam,
Andrzej

Napisany przez: kreatiff 11.02.2022, 23:24:58

Powinno być 301. Dodaj przy L jeszcze R=301, czyli [R=301,L],
A w samym kodzie strony poprzerabiaj tak, by linki wewnętrzne pokazywały tylko te nowe adresy.

Napisany przez: mazury 12.02.2022, 16:57:58

Cytat(kreatiff @ 11.02.2022, 23:24:58 ) *
Powinno być 301. Dodaj przy L jeszcze R=301, czyli [R=301,L],
A w samym kodzie strony poprzerabiaj tak, by linki wewnętrzne pokazywały tylko te nowe adresy.


Właśnie tak próbowałem wcześniej. Po zmianie na "[R=301,L]" i kliknięciu linka: domena.com/item/XXXXXXXXXXXXXXX
W polu adresu przeglądarki pojawia się adres: domena.com/item.php?id=XXXXXXXXXXXXXXX

--
Pozdrawiam,
Andrzej

Napisany przez: kreatiff 12.02.2022, 20:49:47

A no tak, zamień jeszcze miejscami warunki. Pokombinuj coś w tym stylu:

RewriteRule ^/item.php?id=([^/]{14})$ /item/$1 [R=301,L]

Dodaj to jako osobną linię w .htaccess przed tym co w pierwszym poście.

PS testuj sobie to z przekierowaniem 302, ono się nie keszuje w przeglądarce. Jak będzie już działało, to wówczas zmień na 301.

Napisany przez: mazury 13.02.2022, 09:11:03

Dodałem linie przed moimi regułami:

Cytat
RewriteRule ^/item.php?id=([^/]{14})$ /item/$1 [R=301,L]


Niestety nic się nie dzieje... adres w polu przeglądarki pozostaje cały czas w postaci:
domena.com/item.php?id=XXXXXXXXXXXXXXX

sad.gif

Napisany przez: trueblue 13.02.2022, 09:39:51

Ile czasu minęło od wprowadzeniu tagu dotyczącego kanonicznych URL, do momentu kiedy sprawdzałeś index Google?

Napisany przez: mazury 13.02.2022, 12:56:20

2-3 tygodnie. Wiem ze to trochę potrwa zanim wszystko zostanie ponownie zaindexowane. Jednak wskazniki kanoniczne sa tylko wskazowka dla Google i wydaje mi sie ze powinno to byc zrobione na 301. Niestety nie mam juz pomyslu jak to zrobic zeby dzialalo.

Napisany przez: trueblue 13.02.2022, 13:38:34

Nie musi być zrobione na 301.
Po to są adresy kanoniczne. Usuń jakiś "nieprzyjazny" adres z indeksu Google i zobacz czy zaindeksuje go ponownie.

Napisany przez: viking 13.02.2022, 13:40:40

Zresztą ostatnio google ma podobno duże problemy z indeksowaniem. Nawet kilkumiesięczne.

Napisany przez: mazury 13.02.2022, 22:21:34

Cytat(trueblue @ 13.02.2022, 13:38:34 ) *
Nie musi być zrobione na 301.
Po to są adresy kanoniczne. Usuń jakiś "nieprzyjazny" adres z indeksu Google i zobacz czy zaindeksuje go ponownie.


Ale w przypadku usuniecia adresu nie bedzi przekazania "mocy" odnosnika. Jesli byly linkowania do danego url, to nowy url bedzie "dziewiczy".

Napisany przez: trueblue 14.02.2022, 09:34:29

Spróbuj takich reguł:

Kod
RewriteCond item.php -f
RewriteCond %{QUERY_STRING} ^id=([\d]+)$
RewriteRule ^ /item/%1? [R=301,L]

Napisany przez: mazury 14.02.2022, 15:59:10

Cytat(trueblue @ 14.02.2022, 09:34:29 ) *
Spróbuj takich reguł:

Kod
RewriteCond item.php -f
RewriteCond %{QUERY_STRING} ^id=([\d]+)$
RewriteRule ^ /item/%1? [R=301,L]



Pod dopisaniu tych regul niestety nic sie nie dzieje z adresem sad.gif

Pozdrawiam

Napisany przez: trueblue 14.02.2022, 21:31:25

https://htaccess.madewithlove.com?share=c3a03380-291b-4d49-b463-bf8228ea39c5

Możesz pokazać cały .htaccess lub chociaż tą część, którą uznajesz z odpowiedzialną za przyjazne URL i fragmentem, który podałem?

Napisany przez: mazury 15.02.2022, 14:13:50

Cytat(trueblue @ 14.02.2022, 21:31:25 ) *
https://htaccess.madewithlove.com?share=c3a03380-291b-4d49-b463-bf8228ea39c5

Możesz pokazać cały .htaccess lub chociaż tą część, którą uznajesz z odpowiedzialną za przyjazne URL i fragmentem, który podałem?



U mnie to obecnie wyglada tak:

https://htaccess.madewithlove.com?share=7f8860a7-d07c-4600-8620-f8d00eb4aef9

Napisany przez: trueblue 15.02.2022, 14:21:43

Część odpowiedzialna za przepisywanie na przyjazne adresu URL, działa poprawnie.
Drugiej części, którą podałem nie ma.

Napisany przez: mazury 15.02.2022, 20:52:27

Cytat(trueblue @ 15.02.2022, 14:21:43 ) *
Część odpowiedzialna za przepisywanie na przyjazne adresu URL, działa poprawnie.
Drugiej części, którą podałem nie ma.


Pod dodaniu tych linijek ktore zaleciles zeby wkleic jest tak:
https://htaccess.madewithlove.com?share=ae903654-cc32-40d4-aa7a-4ef6a0f5855a

Pewnie robie jakas trywialna glupote...?

Napisany przez: trueblue 15.02.2022, 21:15:24

Tester działa w jednym przebiegu.

Jeśli na początku jest reguła odpowiadająca za przekierowanie na www, to ta się wykona i nic więcej.

Wprowadź dla testów adres z https oraz www.

Napisany przez: mazury 16.02.2022, 22:05:38

ok. Wszystko jasne. Dzieki wielkie!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)