Skocz do zawartości

wordpress - jak usunąć błąd category ?


mirko

Rekomendowane odpowiedzi

Nie wiem z czego to wynika jednak mod rewie w WordPress źle przepisuje linki. Mam wersję WordPressa 3.2.1.

Dlaczego można wejść pod ten sam adres strony na tysiąc sposobów ?

https://www.example.net/category/category/aktualnosci/cziekawostki
https://www.example.net/category/category/category/aktualnosci/cziekawostki
https://www.example.net/category/category/category/category/category/category/category/category/aktualnosci/cziekawostki

Jak usunąć ten błąd ?

Odnośnik do komentarza
Udostępnij na innych stronach

A jaki adres wyświetla Ci się w górnym pasku ?

Jak wchodzę to na dzień dobry jest normalnie. Ale wiem z doświadczenia, że Google wykryje ten link i zgłosi błąd jako duplicate content.

Po za tym to chyba dobrze, że .htaccess przekierowuje.

No jak dobrze ? A po co mi powielona nazwa category ? Za takie rzeczy są filtry w wyszukiwarkach.

Odnośnik do komentarza
Udostępnij na innych stronach

Dlaczego można wejść pod ten sam adres strony na tysiąc sposobów?

Zawsze będzie można, niezależnie od CMS'a (np. dodając parametr GET o losowej wartości).

Jak usunąć ten błąd? (...) wiem z doświadczenia, że Google wykryje ten link i zgłosi błąd jako duplicate content

Jeśli do stron ze zduplikowaną treścią nie prowadzą żadne odnośniki to Google nie wymyśli ich sobie od tak, dlatego sprawdź linkowanie wewnętrzne w serwisie i popraw je w pierwszej kolejności (prawdopodobnie ono jest przyczyną indeksowania przez robota błędnych adresów), następnie można zastosować jeden z pluginów wprowadzających obsługę konwertowania kanonicznego.

Na emeryturze po SEO zajmuję się R&D.

Odnośnik do komentarza
Udostępnij na innych stronach

Ale wiem z doświadczenia, że Google wykryje ten link i zgłosi błąd jako duplicate content.

Chyba jestem dziwny bo dla mnie (i wg mojego doświadczenia) nie istnieje coś jak DC w obrębie domeny.

Jakub Jaworowicz

Zobacz mój Blog o WordPress i Marketingu

Odnośnik do komentarza
Udostępnij na innych stronach

nie istnieje coś jak DC w obrębie domeny

Google w pomocy dla webmasterów, używa terminu "Duplicate Content" w odniesieniu do powielania treści zarówno w obrębie jednej jak i wielu domen. Niestety w branży panuje niekonsekwencja w stosowaniu pewnych terminów, która prowadzi do nieporozumień...

Na emeryturze po SEO zajmuję się R&D.

Odnośnik do komentarza
Udostępnij na innych stronach

Zawsze będzie można, niezależnie od CMS'a (np. dodając parametr GET o losowej wartości).
Jaka zostanie udzielona odpowiedź na żądanie HTTP GET lub POST jest zależna od obsługi żądań zaimplementowanych w aplikacji, więc taka odpowiedź jak piszesz nie ma racji bytu.

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Skrót myślowy - oczywiście da się stworzyć CMS, który np. zwróci błąd w przypadku dodania nieprzewidzianego parametru GET ale żaden z wiodących systemów zarządzania treścią tego nie robi. Implementacja takiej funkcji w Wordpress'ie byłaby skomplikowana i bezsensowna (jeśli jedynym celem jest uniknięcie powielenia treści pod różnymi adresami).

Na emeryturze po SEO zajmuję się R&D.

Odnośnik do komentarza
Udostępnij na innych stronach

Skrót myślowy - oczywiście da się stworzyć CMS, który np. zwróci błąd w przypadku dodania nieprzewidzianego parametru GET al żaden z wiodących systemów zarządzania treścią tego nie robi. Implementacja takiej funkcji w Wordpress'ie byłaby skomplikowana i bezsensowna (jeśli jedynym celem jest uniknięcie powielenia treści pod różnymi adresami).

Nie będę się spierał czy jest sens czy nie - bo dla mnie to oczywiste, że jest . Skoro Google zgłasza mi błędy w centrum webmasterów to znaczy, że widzie te adresy.

Ja chcę ten błąd usunąć . Więc pytam się czy jest na to jakiś prosty sposób ? Klasa na te linki jest dość duża i analizowanie jej byłoby dość długim zajęciem.

Chcę przy okazji również tworzyć linki z rozszerzeniem .html tak aby nie było możliwe odwiedzanie ich w żadnym innym rozserzeniu np. php

Docelowo linki mają wyglądać tak:

https://www.example.net/category/aktualnosci/cziekawostki.html
https://www.example.net/category/kategoria_glowna/cziekawostki.podkategoria.html

W tym celu plugin do WP No Category Base i Permalink Editor. Niestety coś się gryzą i obie rzeczy na raz mi nie działają.

Ktoś z programistów wie gdzie jest problem ?

Odnośnik do komentarza
Udostępnij na innych stronach

Chcę przy okazji również tworzyć linki z rozszerzeniem .html tak aby nie było możliwe odwiedzanie ich w żadnym innym rozserzeniu np. phpKtoś z programistów wie gdzie jest problem ?

Tak, musisz przepisać kod routera WP do własnych potrzeb.

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Jaki to plik ? Gdzie to siedzi ?

Ściągnąłem sobie plugin do przekierowań linków i na szybkiego chcę załatać problem przekierowaniami 301 przy pomocy wyrażeń posix. Czy to dobry pomysł ?

Napisałem łatkę na category, a tu już za chwilę znalazłem kolejny błąd w tym , że można wprowadzić w to miejsce niemal dowolny ciąg znaków i też to przejdzie bez przekierowania do strony błędu.

Wie z was ktoś w którym pliku i co mniej więcej trzeba zmienić ? Wolałbym rozwiązać problem u źródła.

Odnośnik do komentarza
Udostępnij na innych stronach

@Wolałbym rozwiązać problem u źródła.

Dlatego też pisze, że musisz dostosować do swoich potrzeb router odpowiedzialny za dekompozycję URL i wyszukiwanie akcji do wykonania.

Jeśli przekazany ciąg znaków nie będzie odzwierciedlony na danych dostępnych w bazie np: category/aktualnosci/cziekawostki możesz szukać w bazie "aktualności" AND "ciekawostki" jeśli są znaczy, że dana kategoria występuje i wyświetlasz stronę jeśli nie ma wykonujesz odpowiednią akcję jak wysłanie nagłówka 404 i strony 404 lub przekierowanie na inny adres np index.

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

No to już musisz na własną komendę znaleźć lub zlecić komuś...

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

No to już musisz na własną komendę znaleźć lub zlecić komuś...

A po co mam to zlecać skoro jestem w stanie sam to zrobić ? Szkoda, że dokumentacja i forum wordpressa to takie badziewne bez normalnej wyszukiwarki - szkoda gadać.

Wystarczyło dopisać zaczep i przefiltrować reguły w instancji klasy $wp_rewrite.

Podejrzeć je można tak:

echo "<pre>";
print_r($wp_rewrite);
echo "</pre>";

Potem wystarczy dopisać odpowiednie reguły w pliku functions.php naszego szablonu.

add_filter( 'rewrite_rules_array','my_insert_rewrite_rules' );
add_filter( 'query_vars','my_insert_query_vars' );
add_action( 'wp_loaded','my_flush_rules' );


// flush_rules() if our rules are not yet included
function my_flush_rules(){
$rules = get_option( 'rewrite_rules' );


global $wp_rewrite;
//  flush_rules() -	Usuń reguły przepisywania, a następnie odtworzyć reguły przepisywania.
 $wp_rewrite->flush_rules();

}

// Adding a new rule
function my_insert_rewrite_rules( $rules )
{

global $wp_rewrite;
$newrules = array();



unset($rules['videos/([^/]+)(/[0-9]+)?/?$']); // usuwam stare


$wp_rewrite -> extra_permastructs['videos'][0] .='.html'; // modyfikuje linki





  $newrules['videos/([^/]+)(/[0-9]+)?.html?'] = 'index.php?videos=$matches[1]&page=$matches[2]';


return $newrules + $rules;
}


function my_insert_query_vars( $vars )
{
array_push($vars, 'id');
return $vars;
}

ps. wcale nie trzeba tych pluginów instalować, bo one jeszcze więcej mieszają. Na pewno się wam przyda .

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności