Każdy, kto korzystał z WordPressa i ma w zwyczaju patrzeć jak jego strona wygląda
"pod maską", z pewnością zauważył, że tytułowy CMS nie generuje najlepszego
jakościowo kodu. Wynika to głównie z jego rozszerzalności i uniwersalności,
ale nie oznacza to, że w prosty sposób nie możemy pozbyć się części
nadmiarowego kodu HTML i CSS.
Usuwanie odwołania do RSD (Really Simple Discovery)
Mowa o następującym kodzie w nagłówku strony:
<link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://example.com/xmlrpc.php?rsd" />
Jest on używany przez klienty protokołu XML-RPC, np. Windows Live Writer.
Jeżeli nie używasz go lub wspomniane nazwy po prostu nic Ci nie mówią, prawdopodobnie
możesz bez obaw usunąć ten kod ze swojej sekcji head.
Jak to zrobić? To bardzo proste, dzięki wbudowanemu w WordPressa systemowi akcji,
który pozwala także na ich usuwanie. Najlepszym sposobem będzie dodanie
następującego kodu na koniec pliku functions.php w katalogu Twojego szablonu
(wp-content/themes/Twoj_Theme/functions.php). Jeżeli plik o tej nazwie nie
istnieje we wspomnianej lokalizacji, należy go utworzyć i wstawić poniższy
kod w jego treść:
<?php
remove_action('wp_head', 'rsd_link');
Usuwanie odwołania do WLW (Windows Live Writer)
Odpowiada za niego następujący kod HTML w nagłówku bloga:
<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://example.com/wp-includes/wlwmanifest.xml" />
Jego przeznaczenie jest takie jak powyższego, co widać dokładnie po nazwie :)
Jeśli chcesz go usunąć, to analogicznie do functions.php w katalogu Twojego
szablonu (więcej wyżej) dodaj kod:
remove_action('wp_head', 'wlwmanifest_link');
Usuwanie wersji WordPressa (meta generator)
Mówię oczywiście o tym:
<meta name="generator" content="WordPress X.X.X" />
Ten kod jest najprawdopodobniej zbędny. Skorzystać z niego będą prawdopodobnie
tylko roboty przeszukujące sieć pod kątem starych wersji WordPressa, które będą
podatne na ataki. Nic nie stoi więc na przeszkodzie, aby i jego usunąć. Na koniec
wspomnianego pliku functions.php dodajemy kod:
remove_action('wp_head', 'wp_generator');
Linki relacyjne i nawigacyjne do wpisów
Wiele blogów generuje kod na kształt poniższego:
<link rel='index' title='Strona główna' href='http://example.com' />
<link rel='start' title='Pierwszy wpis' href='http://example.com/pierwszy-wpis/' />
<link rel='prev' title='Post poprzedni' href='http://example.com/post-poprzedni/' />
<link rel='next' title='Post następny' href='http://example.com/post-nastepny/' />
Na początku warto zaznaczyć, że ten kod może być często przydatny, korzystają z
niego niektóre przeglądarki, aby ułatwić nawigację pomiędzy kolejnymi artykułami
na stronie (np. Opera). Jeśli jednak uważasz, że takie rozwiązanie jest Ci
niepotrzebne, możesz je usunąć dodając do functions.php:
remove_action('wp_head', 'start_post_rel_link');
remove_action('wp_head', 'index_rel_link');
remove_action('wp_head', 'adjacent_posts_rel_link');
Cały plik functions.php
Czyli opcja dla leniwych
<?php
remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'wlwmanifest_link');
remove_action('wp_head', 'wp_generator');
remove_action('wp_head', 'start_post_rel_link');
remove_action('wp_head', 'index_rel_link');
remove_action('wp_head', 'adjacent_posts_rel_link');
Wyjaśnienie na koniec
Możesz też sobie zadać pytanie: dlaczego nie usunąć podanych fragmentów wprost
z kodu WordPressa zamiast używać funkcji remove_action()? Odpowiedź jest bardzo
prosta: przedstawione wyżej rozwiązanie nie narusza w żaden sposób rdzenia skryptu,
w związku z czym zmiany nie zostaną utracone np. przy aktualizacji. Umożliwia też
ono łatwe cofnięcie zmian - wystarczy usunąć odpowiednie wywołanie
funkcji remove_action()
Mam nadzieję, że przedstawiona krótka porada przyda się Wam. Zawsze to
zaoszczędzone kilka bajtów transferu :)