![]() |
![]() ![]() |
![]() |
-Gość- |
![]()
Post
#1
|
Goście ![]() |
Do tej pory moja strona miała brzydkie adresy URL typu:
http://strona.pl/?url1=Reprezentacje&url2=Polska teraz chciałbym zamienić to na przyjazne adresy typu: http://strona.pl/Reprezentacje/Polska Pytanie tylko, czy punktu widzenia SEO lepiej będzie gdy te stare linki z brzydkimi adresami URL nadal będą działały? Z jednej strony tak, bo przez kilka lat odkąd mam stronę linkowałem właśnie tymi brzydkimi adresami URL, więc gdyby przestały działać to być może straciłbym moc tych wszystkich linków (i moja strona spadłaby w SERPach)? Z drugiej strony nie, bo teraz każda będzie dostępna z dwóch adresów URL (nowego przyjaznego i starego brzydkiego), więc czy nie zostanie to uznane za Duplicate Content (co też negatywnie odbije się na pozycji w SERPach)? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Wykonaj przekierowanie (301) ze starego adresu na nowy.
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Crozin Ci dobrze podpowiada i Twoje przypuszczenia są prawidłowe. Uwalenie starych adresów sprawiłoby, że straciłbyś dotychczasowe strony zaindeksowane i tym samym ich moc zgromadzoną. Nowe adresy są pewnie zbyt świeże i nie posiadają jej. Jednoczesne istnienie obu google faktycznie uzna za DC i Narzędzia webmastera na 200% wskazałyby to. Najprostsze i najlepsze rozwiązanie to rzucenie starej wersji nagłówka "Moved permanently", zyli popularna 301. Możesz to zrealizować na kilka sposobów. Na poziomie htaccess to oczywiście na start. Ja dla pewności zawsze do kontrolera robię jeszcze sprawdzanie, gdzie porównuję aktualny adres z paska do tego, który jest prawidłowym. Jeśli choć jedna literka się nie zgadza, ponowne przekierowanie 301 na w 100% prawidłowy adres. Jest to oczywiście w skrajnych przypadkach niezbyt wydajne, ale za to 100% SEO-pewne rozwiązanie.
-------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Cytat Na poziomie htaccess to oczywiście na start. Ja dla pewności zawsze do kontrolera robię jeszcze sprawdzanie A kiedy htaccess może nie zadziałać? Co by się musiało stać? Jakieś skrajne przypadki? Dobrze nie znam tego tematu( htaccess ) dlatego pytam. -------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
.htaccess działa na poziomie serwera HTTP, a nie aplikacji. To niejednokrotnie może być złe środowisko dla wykonania takiego przekierowania (przykładowo, kiedy musisz pobrać slug tytułu artykułu, by przekierować na .../123/tytul-artykulu).
|
|
|
-Gość- |
![]()
Post
#6
|
Goście ![]() |
Na poziomie .htaccess to oczywiście na start. Mój plik .htaccess wygląda obecnie tak: Cytat # przekierowanie z brzydkiego adresu na przyjazny: RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule (.*) index.php/$1 [L] # kod robiacy przkierowanie z www na bez www: RewriteEngine On RewriteCond %{HTTP_HOST} ^www.strona.pl(.*) [NC] RewriteRule ^(.*)$ http://strona.pl/$1 [R=301,L] Czyli w .htaccess robię tylko przekierowanie z brzydkich na przyjazne adresy, a właściwą pracę z przyjaznymi adresami wykonuje już w PHP, tzn: funkcja explode() rozdziela zmienną $_SERVER['PATH_INFO'] na podstawie znaku '/' i z tej tablicy wydobywam zmienne Jak w moim przypadku powinienem więc zrobić w pliku .htaccess przekierowanie 301 z starych brzydkich adresów na nowe ładne? |
|
|
-Gość- |
![]()
Post
#7
|
Goście ![]() |
Ehh trochę namieszałem.
Ten komantarz w pliku .htaccess jest błędny, bo powinno chyba być: Cytat # przekierowanie z przyjaznego adresu na brzydki:
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule (.*) index.php/$1 [L] |
|
|
-Gość- |
![]()
Post
#8
|
Goście ![]() |
|
|
|
-Gość- |
![]()
Post
#9
|
Goście ![]() |
Najprostsze i najlepsze rozwiązanie to rzucenie starej wersji nagłówka "Moved permanently", zyli popularna 301. Możesz to zrealizować na kilka sposobów. Czy w PHP taki sposób: header("Location: http://strona.pl/przyjazny-adres"); to przekierowanie 301, czy też trzeba to jakoś inaczej zrobić? |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Nie, to jest jedynie ustawienie nagłówka Location (wymaganego przy odpowiedzi HTTP 301). Musisz jeszcze ustawić sam kod odpowiedzi:
Oczywiście, nie żadne <a h...> tylko sam adres URL. Parser BBCode forum szaleje. ![]() Ten post edytował Crozin 23.04.2013, 15:06:52 |
|
|
-Gość- |
![]()
Post
#11
|
Goście ![]() |
Podany przez Ciebie kod jest chyba równoważny z tym?
Cytat header("Location: /foo.php",TRUE,301); http://www.php.net/manual/en/function.header.php#78470 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.07.2025 - 13:42 |