Skocz do zawartości

[wordpress, plugin] unikalne posty


throw.pl

Rekomendowane odpowiedzi

Być może nie szukałem dokładnie, ale nie znalazłem podobnego pluginu, który spełniałby moje wymagania. Dlatego, postanowiłem napisać go sam. Co oferuję?

Plugin, który (mam nadzieję) uprości Wam życie. Gdy piszecie, kupujecie, zlecacie pisanie lub dodajecie automatycznie artykuły (posty) do WP - możecie natrafić na sytuację, w której dodana treść nie jest unikalna (jest duplikatem). Na prostej stronie nie jest to problemem, jednak kiedy buduje się poważny serwis warto zadbać o unikalność treści. Mój plugin, przy każdym opublikowaniu posta sprawdza jego unikalność i jeżeli treść okaże się duplikatem podejmuje akcję (oznacza post jako Draft i (opcjonalnie) wstawia post do innej kategorii np. Do przeredagowania).

Dzięki temu, możecie od czasu do czasu zająć się jedynie przeglądaniem postów z kategorii Do przeredagowania i po (właśnie) przeredagowaniu ponownie umieścić je w serwisie.

Instalacja

1. Skopiuj folder uniquepost do folderu /wp-content/plugins

2. Zaloguj się do WP

3. Aktywuj plugin.

W momencie instalacji/aktywacji:

1. sprawdzamy czy jest dostępna funkcja: file_get_contents()

2. stworzone zostaną 4 opcje w bazie: up_method, up_move_post, up_move_category, up_categories, up_google_api.

Ustawienia

Skrypt tworzy proste menu dostępne w Ustawieniach/Settings (/wp-admin/options-general.php). Plugin miał być prosty w użyciu i konfiguracji, dlatego menu ograniczone jest do minimum. Do dyspozycji mamy następujące możliwości:

Move non-unique post to category:
- jeżeli zaznaczymy checkbox od tego momentu każdy post będzie dodawany do kategorii wybranej z pola select (z listy kategorii) obok. Na uwagę zasługują trzy rzeczy:

- musicie samodzielnie stworzyć taką kategorię (lub posiłkować się kategorią: Uncategorized)

- warto zadbać, aby posty z danej kategorii nie wyświetlały się w serwisie (to można łatwo wykonać na różne sposoby)

- plugin nie usuwa pozostałych kategorii - dzięki temu po przeredagowaniu posta, wystarczy jedynie usunąć go z "niewidocznej" kategorii i post znajdzie się w pożądanym miejscu serwisu

include / exclude
- radio, które pozwala wybrać, aby niżej wybrane kategorie były kategoriami postów, na których skrypt działa / które ignoruje.

Dla przykładu. Jeżeli zaznaczymy: include i kategorie: pierwsza, druga, trzecia to:

- post dodany do kategorii: pierwsza lub druga lub trzecia lub pierwsza, druga itd,. będzie badany pod kątem unikalności

- post dodany do kategorii: pierwsza, czwarta również będzie badany pod kątem unikalności.

Jednym słowem, jeżeli post będzie dodany do wielu kategorii i chociaż jedna z nich będzie z listy rozpatrywanych kategorii to post będzie badany.

Drugi przykład. Jeżeli zaznaczymy: exclude i kategorie: pierwsza, druga, trzecia to:

- post dodany do kategorii: pierwsza lub druga lub trzecia lub pierwsza, druga itd,. nie będzie badany pod kątem unikalności

- post dodany do kategorii: pierwsza, czwarta będzie badany pod kątem unikalności.

Jednym słowem, jeżeli post będzie dodany do chociaż jednej kategorii spoza wyłączonych kategorii to będzie rozpatrywany pod kątem unikalności. Dlaczego? Ponieważ czasami zdażą się nam dodawać posty do więcej niż jednej kategorii. Być może użytkownik dopuszcza duplikaty w kategoriach: pierwsza, druga, trzecia, ale skoro post ma znaleźć się również w kategorii czwarta to musimy zadbać o unikalność. *

Dlaczego nie można stworzyć dwóch list: include i exclude. Na początku, w poprzedniej wersji dałem taką możliwość. Na dłuższą metę nie ma to jednak większego sensu, dlatego skróciłem kod (i samo menu). Jeżeli chcemy mieć include to nie potrzebujemy exclude.

Google API Key:
- na samym dole jest miejsce na wpisanie Google API (https://code.google.com/intl/pl/apis/ajaxsearch/signup.html)

Rozpoznawanie duplikatu

To jest zdecydowanie najtrudniejszy do zrealizowania fragment tego typu skryptów. Nie znalazłem idealnej metody, dlatego mój plugin działa tak:

1. Sprawdź czy cały post nie znajduje się gdzieś w Internecie (np. zapisany prosto z RSS, albo skopiowany żywcem z innej strony).

Jeżeli nie to:

2. Podziel post na grupy słów i pomiksuj

3. Dla każdej z pomiksowanych grup sprawdzaj w Google

Skrypt dość dobrze radzi sobie z tekstem, w którym pomieszano zdania czy wtrącono kilka dodatkowych wyrazów. Jeżeli jednak ktoś się uprze i zlepi 10 zdań, każde z innej strony to plugin nie uzna tego za duplikat (Google zapewne też nie :tancze: ). Niestety, im więcej tekstu tym więcej odwołań do Google.

Podsumowanie

Plugin pozwala na zapanowanie nad zduplikowanymi postami w serwisie. Jeżeli pracujecie nad kilkoma serwisami i zatrudniacie kilku redaktorów, ciężko przeglądać wszystkie opublikowane przez nich treści. Dzięki mojemu pluginowi, stanie się to szybkie i łatwe.

Dla przykładu, można stworzyć N kategorii, które nie są wyświetlane na głównej stronie - widnieją jedynie w sitemap (i po głebokim przeszukiwaniu serwisu) i służą jedynie do nabijania site. To właśnie te kategorie możemy dodać do listy exclude i swobodnie je zaśmiecać ;) Pozostałe kategorie (te widoczne dla człowieka) będą chronione pluginem.

Do zrobienia

0. Poprawienie mechanizmu wykrywającego duplikat

1. Zastanawiam się nad wprowadzeniem bardziej wyszukanej metody pobierania danych. Być może zastosuje cURL i proxy.

2. Planuję zrobić cache wyników pobieranych z Google. W obecnej chwili kilkukrotne postowanie tej samej treści będzie skutkowało kilkoma zapytaniami do Google. Jest to oczywista (prawie oczywista) strata czasu i zasobów.

*3. Być może warto zrobić, aby post przydzielony do kategorii exclude i jednej nie uwzględnionej, wyświetlił się w kategoriach exclude, natomiast w tej zwykłej był oznaczony jako draft i po przeredagowaniu wyświetlał się również w tej kategorii jako nowy post.

Liczę na opinie i uwagi (szczególnie te krytyczne). Link do pobrania pluginu: uniquepost

Odnośnik do komentarza
Udostępnij na innych stronach

Bardzo fajna wtyczka, zainstalowałem i zobaczymy, dodam wkrótce jakiś duplikat .

Może Wp ma coś takiego w pluginach , ale świetnie , że są ludzie którzy to robia bo lubia "Teraz Polska" ;-)

Inicjatywa rewelacyjna, dal mnie to sie napewno przyda

Odnośnik do komentarza
Udostępnij na innych stronach

Dyskusyjna może być kwestia uznawania tekstu za duplikat. Tak jak wspominałem wcześniej, musiałem postarać się o kompromis pomiędzy długością działania i ilością zapytań do Google. Z drugiej strony, mocno pomieszany tekst + z obcymi wstawkami (często będzie uznawany za duplikat, ale czy powinien? Nad tym się zastanaiwam). Z pewnością skopiowane żywcem (zaindeksowane) treści nie przejdą :)

Odnośnik do komentarza
Udostępnij na innych stronach

nie jestem zawodowym programistą ale można też by wykorzystać stronę https://www.copyscape.com/ która pokazuje strony z podobnym tekstem. ( sugestia do piszącego program )

 

"Na szczycie zawsze znajdzie się miejsce" - Ale potrzebujesz serwera by tam się znaleźć - Zgarnij kod rabatowy do SEOhost 40% - lub rabat do Cyber_folks - 10% - Rabat do hitme -5% - #reklama #link_sponsorowany

Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 tygodnie później...

Wyskakuje mi taki błąd przy dodawaniu nowego wpisu:

Warning: file_get_contents(https://ajax.googleapis.com/ajax/services/search/web?v=1.0&q="Chcia%C5%82bym+opisa%C4%87+w+tym+artykule%2C+jakimi+kryteriami+powinni%C5%9Bmy+si%C4%99++kierowa%C4%87+przy+zakupie+klatki.+Jest+to+%C5%9Bci%C5%9Ble+uwarunkowane+od+tego%2C+dla++jakiego+zwierzaka+b%C4%99dzie+to+%3Ca+href%3D%22http%3A%2F%2Fwww.superpreis.pl%2F%22%3Eklatka%3C%2Fa%3E.+Ma%C5%82e+gryzonie+jak+myszki%2C+czy+szczury+wymagaj%C4%85+innej+klatki+ni%C5%BC+szynszyla%2C+czy+fretka.%0D%0A%0D%0ADwa+podstawowe+czynniki+to+grubo%C5%9B%C4%87+pr%C4%99t%C3%B3w+i+odst%C4%99py+mi%C4%99dzy+nimi.+Ma%C5%82e++zwierz%C4%85tka+nie+wymagaj%C4%85+grubych+pr%C4%99t%C3%B3w%2C+natomiast+prze%C5%9Bwit+mi%C4%99dzy++drutami+powinien+by%C4%87+mo%C5%BCliwie+najmniejszy%2C+przynajmniej+10mm.+Kr%C3%B3lik++jako%2C+%C5%BCe+jest+zwierzakiem+o+sporych+gabarytach+powinien+mie%C4%87+w+klatce++grube+pr%C4%99ty%2C+ok+2mm.+Prze%C5%9Bwit+mi%C4%99dzy+kratkami+nie+ju%C5%BC+tu+taki+istotny.%0D%0A%0D%0AW+drugiej+kolejno%C5%9Bci+nale%C5%BCy+wybra%C4%87+wielko% in /wp-content/plugins/uniquepost/common.php on line 120

Warning: Cannot modify header information - headers already sent by (output started at /wp-content/plugins/uniquepost/common.php:120) in /wp-includes/pluggable.php on line 890

serwer home.pl, wersja WP 3,01

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności