All in One SEO Pack (AIOSP) – popularny plugin do WordPress (WP) i robiąca prawie zawsze, to co trzeba, w kwestii SEO, niestety w niektórych sytuacjach wymięka.
Opis problemu WPML z All in One SEO Pack
Sytuacja jest następująca:
WP z włączoną wtyczką WPML Multilingual CMS (WPML) – wersje językowe działają w oddzielnych subdomenach, np. fanaticalcode.com, en.fanaticalcode.com, de.fanaticalcode.com itp. (warto przeczytać także inny mój wpis – WordPress z WPML a zmiana serwera i domeny)
strona główna jest stroną statyczną.
Domyśle AIOSP dla meta-tagi strony głównej bierze z ustawień w „Ustawienia” -> „All in One SEO” (w panelu administracyjnym WP), tj. „Home title„, „Home Description„, „Home Keywords„. Niestety nie udało nam się zmusić WPML do przetłumaczenia tych pól i w innej wersji językowej strona główna zawsze zawierała polskie teksty w title, description i keywords. Można próbować to hackować przez tytuł strony i opis z „Ustawień ogólnych” CMS i następnie pola te tłumaczyć w WPML, ale rozwiązanie to jest słabe.
Rozwiązanie
Zajrzałem w kod wtyczki i wprowadziłem kilka modyfikacji. Niestety zmian należało dokonać w kilku miejscach i nie udało się sprawy załatwić odpowiednimi filtrami osadzonymi w pliku functions.php dla tematu WP. Modyfikacja kodu sprawiła, że AIOSP zaczął pobierać dane z ustawień SEO dla pojedynczej strony (widoczne podczas edytowania strony), a nie z ustawień „globalnych”. Gdyby ktoś potrzebował takiego rozwiązania, to może pobrać przygotowanego przeze mnie forka:
WordPress z pluginami All in One SEO Pack i WPML
Opis problemu WPML z All in One SEO Pack
Sytuacja jest następująca:
Domyśle AIOSP dla meta-tagi strony głównej bierze z ustawień w „Ustawienia” -> „All in One SEO” (w panelu administracyjnym WP), tj. „Home title„, „Home Description„, „Home Keywords„. Niestety nie udało nam się zmusić WPML do przetłumaczenia tych pól i w innej wersji językowej strona główna zawsze zawierała polskie teksty w title, description i keywords. Można próbować to hackować przez tytuł strony i opis z „Ustawień ogólnych” CMS i następnie pola te tłumaczyć w WPML, ale rozwiązanie to jest słabe.
Rozwiązanie
Zajrzałem w kod wtyczki i wprowadziłem kilka modyfikacji. Niestety zmian należało dokonać w kilku miejscach i nie udało się sprawy załatwić odpowiednimi filtrami osadzonymi w pliku functions.php dla tematu WP. Modyfikacja kodu sprawiła, że AIOSP zaczął pobierać dane z ustawień SEO dla pojedynczej strony (widoczne podczas edytowania strony), a nie z ustawień „globalnych”. Gdyby ktoś potrzebował takiego rozwiązania, to może pobrać przygotowanego przeze mnie forka:
All in One SEO Pack FC Fork