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 :)