Manipulowanie wyborem WordPress SEO w Open Graph
- Otwórz hierarchię obrazów Graph w WordPress SEO
- Rozszerzenie otwartego wykresu SEO WordPress dla obrazów
- Inny rozmiar dla zdjęć na Facebooku
- Wyłącz Open Graph dla obrazów z treści
- Wyklucz określone obrazy z tagów Open Graph
- Dodawanie tego do WordPress SEO
Niedawno naprawiłem problem polegający na dodawaniu Facebookowi poprawnych rozmiarów postów do miniatur postów poprzez Open Graph w WordPressie, więc nie wybiera on innego z treści. Dokonano tego za pomocą dobrze znanej wtyczki WordPress SEO by Yoast . Niestety, nie ma opcji, aby custimize to bezpośrednio w SEO WordPress. Ale dzięki filtrom można łatwo dostosować utworzone wykresy otwarte za pomocą kilku linii kodu. W tym artykule pokażę kilka przydatnych przykładów.
Uwaga: przetestowałem to na WordPress 3.6.1 z WordPress SEO 1.4.18.
Deweloperzy mogą chcieć zajrzeć do frontend / class-opengraph.php pliku 248 wtyczek SEO WordPress, aby znaleźć 2 funkcje kontrolujące, które i jak tworzone są tagi Open Graph dla obrazów.
Aktualizacja :
Wtyczka Yoast SEO zmieniła się bardzo często po napisaniu tego samouczka, a jej części już nie działają poprawnie. Tj. Właśnie dowiedziałem się, że za pomocą filtru wpseo _pre _analysis _post _content sugerowanego tutaj łamie się wynik SEO.
Aktualizacja 2:
Yoast właśnie ogłosił, że filtr wpseo _pre _analysis _post _content zostanie całkowicie usunięty 2 listopada 2015 roku.
Opcje otwartego wykresu WordPress SEO - weź go lub opuść.
Otwórz hierarchię obrazów Graph w WordPress SEO
WordPress SEO by Yoast jest naszym preferowanym rozwiązaniem SEO dla WordPress. Wtyczka dodaje również dane Open Graph dla Facebooka. Niestety, nie ma możliwości dokładnego dostrojenia tych danych i jesteś w porządku ze wszystkim, co robi lub nie jesteś. Pozwólcie, że wyjaśnię, w jaki sposób WordPress SEO tworzy znaczniki Open Graph dla obrazów i jak można wpływać na wymienione obrazy i rozmiar obrazu za pomocą kilku linii kodu.
WordPress SEO zawiera tagi otwartych wykresów dla obrazów w następującej kolejności:
Na stronie głównej:
- obraz na pierwszej stronie, który określisz w opcjach SEO WordPress.
Dla pojedynczych postów i stron
- przedstawiony obraz
- obrazy w treści
Jeśli do tej pory nie znaleziono żadnego obrazu, używany jest domyślny obraz określony w opcjach SEO WordPress.
Rozszerzenie otwartego wykresu SEO WordPress dla obrazów
Twórcy WordPress SEO używali niektórych filtrów podczas tworzenia tagów Open Graph dla obrazów, dzięki czemu inni programiści mogli dostosować go do swoich potrzeb. Nie wchodzę filtry w WordPressie tutaj, ale po prostu chciałbym podać użyteczny przykład tego, co możesz zrobić z filtrami aktualnie dostępnymi w WordPress SEO.
Inny rozmiar dla zdjęć na Facebooku
Zanim sam kodowałem te rozwiązania, przeprowadziłem badania nad tym, jak inni to rozwiązali. Nigdzie nie znalazłem tych informacji, ale wiele otwartych pytań dotyczących tego, w jaki sposób można wybrać inny rozmiar dla postów prezentowanych w obrazie niż ten użyty na stronie. Istnieją dwa powody, dla których Facebook wybiera inny niż opisywany obraz postu, aby zwiastować go w linii czasu. Po pierwsze, rozmiar jest mniejszy niż 600 pikseli szerokości, a drugi jest inny niż 1,91: 1. Aby naprawić błędne obrazy w liniach czasowych Facebooka, można najpierw utworzyć ten konkretny rozmiar obrazu za pomocą add_image_size () .
Aby utworzyć rozmiar obrazu, który „pasuje” do standardowego Facebooka, skopiuj poniższy kod do swoich motywów funkcje.php.
if (function_exists ('add_image_size')) {add_image_size ('facebook', 600, 315); }
Dwie rzeczy, o których powinieneś pamiętać podczas używania add_image_size ().
- Dodanie „true” lub „false” jako czwartego atrybutu spowoduje przycięcie obrazu do właściwego rozmiaru. Jeśli puść pustą lub ustaw na false, obraz zostanie zmieniony, aby pasował do co najmniej jednej z metryk.
- Nowy rozmiar obrazu nie jest tworzony automatycznie dla starszych zdjęć. Musisz je zregenerować za pomocą podobnej wtyczki Regeneruj miniatury .
Domyślny rozmiar obrazu używany przez wtyczkę SEO Yoasta jest „duży”. W standardowej instalacji WordPress generowany jest „duży” obraz o maksymalnej szerokości 1024 pikseli. Filtr, którego możemy użyć do ustawienia innego rozmiaru obrazu w WordPress SEO to wpseo_opengraph_image_size . Po prostu umieść następujące linie w function.php bieżącego motywu, aby połączyć Open Graph z naszym „facebookiem”, który stworzyliśmy powyżej.
add_filter ('wpseo_opengraph_image_size', 'mysite_opengraph_image_size'); function mysite_opengraph_image_size ($ val) {return 'facebook'; }
Ten filtr działa tylko dla wyróżnionego obrazu w WordPress. Obrazy zaczerpnięte z treści nie mogą być zmieniane, ponieważ tutaj używany jest rozmiar obrazu określony podczas dołączania obrazu do pola zawartości.
Wyłącz Open Graph dla obrazów z treści
Mam mnóstwo przykładów złych obrazów z treści, które automatycznie pojawiają się jako obraz postu na Facebooku. Filtr wpseo_pre_analysis_post_content umożliwia wyłączenie tego za pomocą prostej sztuczki. Filtr jest używany w treści postów, które później są wyszukiwane w poszukiwaniu obrazów. Prosto opróżniamy zawartość, więc nie można znaleźć żadnego obrazu.
Dodaj następujący kod do swoich function.php.
add_filter ('wpseo_pre_analysis_post_content', 'mysite_opengraph_content'); function mysite_opengraph_content ($ val) {return ''; }
AKTUALIZACJA: Ta funkcja ma wadę. Ponieważ filtr jest również używany podczas przygotowywania treści do analizy SEO postu, nie będzie mógł tego zrobić po powrocie pustym. JoseV wskazał rozwiązanie pozwalające przynajmniej zachować niektóre funkcje, usuwając tylko tagi z treści. To jest linia, której używałbym tutaj.
return preg_replace ("/ <img [^>] +> / i", "", $ val);
Nawet jeśli polecane zdjęcia wyglądają dobrze na Facebooku, powinieneś rozważyć użycie tego filtra. Na stronach bez pamięci podręcznej zawartość jest filtrowana przy każdym załadowaniu strony, co może być uważane za grzech wydajności.
Wyklucz określone obrazy z tagów Open Graph
Ostatni filtr wpseo_opengraph_image jest używany na każdym z obrazów w postaci ich adresu URL. Możesz użyć tego do wykluczenia określonych obrazów. W tym przykładzie zezwalam tylko na obrazy, które mają dokładnie moją „facebookową” szerokość 600 pikseli. Przeznaczam to, sprawdzając ciąg „-600x” w url źródła obrazów.
add_filter ('wpseo_opengraph_image', 'mysite_opengraph_single_image_filter'); function mysite_opengraph_single_image_filter ($ val) {if (preg_match ('/ - 600x /', $ val)) zwraca $ val; }
Bardziej zaawansowanym zastosowaniem tego filtra może być użycie innego rozmiaru obrazu dla obrazów z treści. To wymaga więcej manipulacji ciągiem i jest bardzo specyficzne dla twojego przypadku użycia, więc pomijam tutaj przykład.
Pamiętaj, że nawet jeśli nie utworzysz wykresu otwartego dla obrazu, Facebook może nadal wybierać go z Twojej witryny. Nie jestem do końca pewien, jak bardzo Otwarte Wykresy naprawdę wpływają na wybór „właściwego” obrazu na Facebooku. Najlepszym sposobem jest zdecydowanie dostarczenie wystarczająco dużego zdjęcia dla każdego posta.
Dodawanie tego do WordPress SEO
Analizując tylko dany problem i kilka wierszy SEO WordPressa uświadomiłem sobie, jak łatwa może być aktualizacja wtyczki Yoasta do niektórych funkcji, o których wspomniałem powyżej. Miałem szczęście spotkać członka zespołu wtyczek WordCamp Europe 2013 i może się zdarzyć, że dodamy to razem w przyszłym wydaniu. Do tego czasu możesz wypróbować niektóre fragmenty kodu z góry.