problem z indeksowaniem plików załaczników w WordPress
WordPress automatycznie tworzy wpis typu attachment, czyli „stronę załącznika” do każdego pliku dodawanego w media (grafiki, PDF itp.), nie ma możliwości wyłączyć tego mechanizmu, a może on powodować niepotrzebne indeksowanie stron załaczników, co jest częstym problemem SEO w WordPressie.
Nawet jeśli ten link nie występuje w treści, to istnieje technicznie i może być indeksowany przez wyszukiwarki (Google często je znajduje i traktuje jako „thin content”).
Co dają rozwiązania z przekierowaniem
Odpowiednie techniki pozwolą wykryć, że użytkownik lub robot próbuje wejść na taką stronę (is_attachment()), i przekierują go np. na stronę główną lub do wpisu nadrzędnego.
W takiej sytuacji możesz:
- zablokować ich wyświetlanie (redirect),
- usunąć je z indeksu SEO,
- nie tworzyć linków do nich w treści.
1. Przekierowanie wszystkich attachment pages na plik multimedialny lub stronę nadrzędną (SEO-safe)
Stosowane przez pluginy Yoast SEO lub All in One SEO.
All in One SEO ma opcję: „Przekieruj strony załączników do plików multimedialnych” lub „Usuń strony załączników z indeksowania”.
W panelu AIOSEO → Search Appearance → Media → Attachment Pages
Ustaw: Redirect Attachment URLs → To the Attachment File (lub „Do pliku załącznika”) lub Redirect Attachment URLs → To the Parent Post
To całkowicie eliminuje dostępność stron załączników w praktyce SEO i użytkowej. Nie będą się już indeksować.
2. Całkowite „zdezaktywowanie” renderowania attachment pages
Jeśli chcesz iść bardziej technicznie i nigdy nie renderować tych stron, możesz dodać taki kod:
function disable_attachment_pages_completely() {
if (is_attachment()) {
wp_redirect(home_url(), 301);
exit;
}
}
add_action('template_redirect', 'disable_attachment_pages_completely');
3. nie twórz linków w treści, obrazy dodawane do wpisów/stron:
- w edytorze wpisu kliknij na obrazek,
- w panelu po prawej stronie (Zakładka „Ustawienia”) znajdź opcję „Po kliknięciu” (lub „Linkowanie do”),
- wybierz: Brak (None).
Ustawienie domyślnego „Link do: Brak” dla wszystkich nowych obrazków
Dodaj poniższy kod do pliku functions.php
function default_image_link_none() {
$image_set = get_option( 'image_default_link_type' );
if ( $image_set !== 'none' ) {
update_option( 'image_default_link_type', 'none' );
}
}
add_action( 'admin_init', 'default_image_link_none', 10 );
4. Blokada generowania stron załączników (attachment pages)
Jeśli chcesz też, by WordPress nie tworzył podstron typu …?attachment_id=123, możesz przekierować je np. do wpisu nadrzędnego lub na 404
function disable_attachment_pages() {
if (is_attachment()) {
global $post;
if ($post && $post->post_parent) {
wp_redirect(get_permalink($post->post_parent), 301);
} else {
wp_redirect(home_url(), 301);
}
exit;
}
}
add_action('template_redirect', 'disable_attachment_pages');
Hope this helps and happy coding :)
Zobacz jeszcze
zyskać adres IP
adres IP domeny www.mydomain.com W terminalu (CMD / PowerShell / macOS Terminal) wpisz: dla Windows: nslookup www.mydomain.com macOS / Linux: dig www.mydomain.com Wynik pokaże coś...