Hur man tar bort gamla inläggsrevisioner i WordPress. WordPress-utgåvor, revisioner och autospara. Hur man tar bort alla versioner och upplagor

God eftermiddag allihop. Idag skrev jag till dig en rent teknisk artikel som låter dig optimera din WordPress-bloggdatabas genom att rensa revisioner (automatiskt sparade kopior av artiklar). Vi kommer att ta en detaljerad titt på och analysera syftet med revisioner, deras väsen, och jag kommer också att visa dig hur du tar bort och inaktiverar eller begränsar utseendet på revisioner i WordPress. Materialet som publiceras nedan kommer att åtföljas av detaljerade bilder med kommentarer.

Som du kan se finns det ganska många frågor att studera. Det är sant att för många ägare av internetresurser kommer det inte att vara nytt, men de "smartaste" läser inte min blogg, den läses av de som vill lära sig. För att skapa en populär, pålitlig och stabil webbplats måste nybörjare förstå alla tekniska krångligheter och ha en praktisk förståelse för revisioner och mycket mer. Kommer att lära.

Vad är revisioner i WordPress

Du kanske har märkt att när du skriver eller redigerar ett inlägg, gör systemet automatiskt en kopia av det - en säkerhetskopia. Vid denna tidpunkt blir knapparna "Publicera" och "Spara" i fönstret till höger inaktiva. Denna åtgärd kallas revision.

Revisioner i WordPress är en automatisk säkerhetskopiering av innehållet i ett inlägg eller en sida för att förhindra dataförlust. Från dem kan du återställa tidigare kopior av dokument.

Många har säkert gissat att WordPress-revisioner används för att undvika dataförlust. De konfigureras automatiskt och gör en säkerhetskopia efter en viss tid (var 60:e sekund). De läggs till i en databas (MySql - phpMyAdmin). Du kan se listan över revisioner i WordPress precis under postredigeringsfönstret (i redigeringsläge). Om du rullar på sidan kan du se dem precis nedanför i fönstret "Redaktörer". De ser ut så här:

Du har förmodligen redan en fråga: "Varför radera eller inaktivera revisioner?" om de spelar en så användbar roll. Hela problemet är att kopior av poster, artiklar eller inlägg kraftigt belastar databasen där de läggs in. Detta leder inte bara till framtida problem med att redigera och göra ändringar, utan också till långsam laddning av webbplatssidor. Jag råder dig att läsa inlägget "". Sökmotorer började ägna särskild uppmärksamhet åt denna parameter. Också, förresten, beror beteendefaktorn direkt på detta, vars indikator bildas från en bedömning av användarbeteende.

Naturligtvis måste vi bli av med revisioner, oavsett hur användbara de kan vara. Detta kommer inte bara att minska storleken och volymen på databasen, utan också ladda webbplatsen mycket snabbare.

Hur man tar bort revisioner i WordPress

Det finns olika sätt att ta bort revisioner, jag kommer att visa två. Den ena riktar sig till dummies, som jag var nyligen, och den andra till personer som är mer förberedda (som inte är rädda för servrar och databaser).

Metod nummer 1. Bättre Ta bort Revision plugin

Vi kommer att använda ett speciellt skapat plugin för att ta bort revisioner - Better Delete Revision. Ladda ner den via Admika och installera den. Efter aktivering kommer ett objekt med ett namn som liknar namnet på pluginet att dyka upp i inställningssektionen - det här är inställningar.

Du kan omedelbart optimera databasen eller gå till fliken "Kontrollera revisionsposter" och därifrån rensa din blogg från onödiga kopior av dokument.

Metod nummer 2.Ta bort direkt från databasen

Den här är lite svårare att genomföra. Jag vill inte skrämma dig, men om du är rädd för att göra något fel, då är det bättre att skippa det. I den här metoden kommer vi att radera kopior av artiklar direkt genom själva databasen. Strax innan du går dit råder jag dig att göra en kopia av den. Om du inte vet hur du gör detta, läs då inlägget.

Efter att ha valt önskad databas, hitta fliken "SQL", öppna den så att ett tomt fält visas framför dig.

Du måste kopiera koden nedan till den och klicka på knappen "OK". Med denna åtgärd kommer du att göra en SQL-begäran om att ta bort revisioner från databasen.

DELETE FROM wp_posts WHERE post_type = "revision";

Det ska se ut som på bilden:

Om dina åtgärder lyckas kommer du att se ett meddelande som följande som svar. Om du inte tidigare har tagit bort eller inaktiverat revisioner kommer antalet rader att skilja sig från noll.

Hur man inaktiverar WordPress-revisioner

För att inte slösa tid på att städa varje gång kan skapande av säkerhetskopior av artiklar inaktiveras. Då försvinner helt enkelt ditt "Editors"-fönster och permanent lagring slutar hända. Tänk noga efter innan du gör detta, eftersom du inte längre kommer att kunna öppna eller återgå till den tidigare versionen av inlägget.

För att inaktivera revisioner måste du gå till ditt webbhotell och redigera filen wp-config.php, som finns i rotmappen. Klistra in koden med parametern i den:

Define("WP_POST_REVISIONS", 3);

Numret anger antalet dokumentversioner som kommer att lagras i databasen. Begränsa det till antalet du behöver, till exempel skulle ett betyda att du har en publicerad och en säkerhetskopierad (senast redigerad).

När du har gjort ändringarna klickar du på knappen "Spara". Nu kommer din databas inte att svälla som jästdeg varje gång du redigerar artiklar.

Det är här jag avslutar detta inlägg. Jag hoppas att denna information var användbar för dig. Om du har några frågor, vänligen lämna dem i kommentarerna.

Vill du bli av med onödigt stök i din WordPress-databas? Inaktivera inläggsrevisioner! Vid intresse, läs vidare.

Vad är revisioner?

När du skapar ett nytt inlägg eller en sida på webbplatsen, sedan sparar den och sedan redigerar den flera gånger, sparar "motorn" automatiskt alla sina versioner i sin databas. De kallas revisioner.

Varför inaktivera revisioner i WordPress?

Om din webbplats inte har mer än ett dussin poster, så finns det inget att oroa sig för. Men om det finns fler än hundra av dem är det värt att tänka på. En artikel kan trots allt korrigeras flera dussin gånger tills den publiceras. Detta innebär att flera dussin kopior av den kommer att lagras i databasen. I princip är detta å ena sidan bekvämt, eftersom det låter dig se alla ändringar, returnera några av dem etc. Men efter att publikationen har lagts ut på sajten behöver ingen dess dubbletter.

Hur inaktiverar jag revisioner i WordPress?

Om du är den lyckliga ägaren av ett multifunktionellt premiumplugin behöver du inte leta efter några andra lösningar. En av dess funktioner är att helt inaktivera skapandet av revisioner. För att göra detta måste du gå till admin-sektionen Clearfy Pro och på fliken Dessutom aktivera inställningen Inaktivera revisioner helt.

andra metoder

Insticksprogram för revisionskontroll

Revision Control är ett separat plugin för att hantera revisioner på en WordPress-webbplats. Dess huvudsakliga funktion är möjligheten att specificera för vilka typer av inlägg (sidor eller inlägg) det ska vara förbjudet att skapa kopior.

Så efter att ha installerat och aktiverat det, bör du gå till adminpanelen Inställningar -> Revisioner.

Du kan inaktivera skapandet av revisioner för önskad inläggstyp. Motsvarande fält används för detta: Inlägg och Sidor. För att spara alla ändringar, klicka på knappen Spara ändringar.

Inaktivera Post Revision-plugin

Disable Post Revision är ett separat plugin som bara utför en funktion - helt inaktivera skapandet av kopior av innehåll. För att göra detta behöver du bara installera och aktivera det. Den största fördelen med plugin är frånvaron av några inställningssidor. Den börjar göra sitt jobb direkt efter aktivering.

Hej alla, mina kära läsare av sajten. För inte så länge sedan tittade vi på ett WordPress-tema. Men häromdagen var jag tvungen att lägga till ytterligare en metod till den här artikeln. Extremt effektivt när du har bloggat länge, förutsatt att du inte kunde detta trick.

Dessa så kallade revisioner eller andra utgåvor har funnits sedan äldre versioner av cms WordPress.

Varför behövs inläggsrevisioner?

Revisioner av inlägg och sidor behövs endast i teorin. Poängen är att de sparar en säkerhetskopia av din artikel i en databas. Dessutom sparas varje gång du byter.

Det visar sig att i processen att skriva en artikel, när du klickar på knappen "Spara", skapas en kopia av din artikel med dina ändringar. Och när som helst kan du titta på listan över dessa kopior och välja den mest lämpliga och återställa den.

Under all min praktik har jag bara behövt återställa en kopia från sådana reserver en gång. Men ändå.

På första sidan verkar funktionen ganska användbar. Du måste dock förstå att varje sådan lagring är en extra belastning på databasen, eftersom alla kopior lagras där.

Här är ett exempel från livet. I genomsnitt hade jag 4-5 revisioner av varje artikel på min blogg. Tänk dig när du har hundratals artiklar skrivna, och kanske tusentals artiklar - genom att ta bort revisioner (utgåvor) av inlägg - kommer du därmed att snabba upp din blogg med 5 gånger.

Vad händer om du inte har 5 revisioner, utan 10 för varje inlägg? Förresten, hur mycket har du, om det inte är en hemlighet? Skriv gärna om det i kommentarerna.

Förresten, det mest intressanta är att när du inte ens klickar på knappen "Spara" skapas inläggsrevisioner automatiskt. Detta kallas autospara.

Hur kan jag begränsa antalet redigeringar av inlägg?

Vi vet redan att alla revisioner lagras i en databas. För att ändra deras nummer behöver vi ett standard "filter", som kallas wp_revisions_to_keep, eller använda WP_POST_REVISIONS-direktivet i filen wp-config.php.

Förresten, av någon anledning fungerade inte direktivet i wp-config-filen för mig. Skriv, för vem fungerar det i nya versioner av WordPress?

Så låt oss säga att vi vill lämna möjligheten att spara revisioner, men lämna, säg, bara 3 stycken. För att göra detta måste vi skriva följande:

Funktion my_revisions_to_keep($revisions) ( return 3; ) add_filter("wp_revisions_to_keep", "my_revisions_to_keep");

Genom att använda wp_revisions_to_keep kan du också begränsa antalet kopior i olika inläggstyper. Mer exakt, i en typ finns det ett antal revisioner, i en annan - en annan.

Tja, låt oss till exempel säga att du behöver 5 revisioner för sidor och 3 revisioner för artiklar (inlägg) och andra typer av inlägg.

Funktion my_revisions_to_keep($revisions, $post) ( if ("page" == $post->post_type) return 5; else return 3; ) add_filter("wp_revisions_to_keep", "my_revisions_to_keep", 5, 2);

Du kan också prova att använda WP_POST_REVISIONS i filen wp-config.php, men den här metoden tillåter dig inte att separera inläggstyper.

define("WP_POST_REVISIONS", 3);

Hur man inaktiverar och/eller tar bort versioner i wordpress

På samma sätt kan du vägra revideringar helt och hållet. Du behöver bara ange siffran 0 i begränsningarna.

Funktion my_revisions_to_keep($revisions) ( return 0; ) add_filter("wp_revisions_to_keep", "my_revisions_to_keep");

Eller använd filen wp-config.php:

Define("WP_POST_REVISIONS", 0);

Det viktigaste. Att inaktivera revisioner kommer inte att påverka deras existens (redan befintliga) på något sätt. de där. om du hade 3-5 revisioner för varje artikel och du inaktiverade revisioner, kommer gamla kopior av inlägg fortfarande att finnas kvar. De måste raderas manuellt via databasen.

Hur man tar bort alla versioner och upplagor

Så vi inaktiverade redaktörerna. VI vet redan att det inte räcker att bara inaktivera redaktörer. Du måste rycka upp dem och radera dem manuellt via MySQL.

Låt oss börja, antar jag. Men innan du tar bort något, gör en säkerhetskopia. Det är bättre att göra en säkerhetskopia av hela webbplatsen.

DELETE FROM wp_postmeta WHERE post_id IN (VÄLJ ID FRÅN wp_posts WHERE post_type = "revision" OCH post_name SOM "%revision%");

Vi gör något liknande för taxonomier

DELETE FROM wp_term_relationships WHERE object_id IN (VÄLJ ID FRÅN wp_posts WHERE post_type = "revision" OCH post_name SOM "%revision%");

Och naturligtvis tar vi bort själva revisionerna.

DELETE FROM wp_posts WHERE post_type = "revision" OCH post_name SOM "%revision%";

Denna MySQL-fråga kommer att radera alla versioner i din databas. Förutom autosave.

Autosave betraktas också som en revidering, men de tas inte bort eller inaktiveras!! Därför, för att hålla dem så små som möjligt, skriv texterna i förväg i Word och klistra sedan in dem i adminområdet!

En liten påminnelse om hur man arbetar med MySQL

Om du plötsligt glömde.

Jag arbetar med adminvps-hosting, jag berättade till och med varför i den här artikeln. Så jag ska visa allt på den.

Logga in på phpMyAdmin i din värdkontrollpanel.

Ange ditt användarnamn och lösenord.

Vi valde den databas vi behövde och klickade på SQL-knappen, som finns längst upp.

Och vi ser ett stort fält för att skriva SQL-frågor. För hela databasen.

Där lägger vi in ​​alla förfrågningar i ordning.

Oroa dig inte om du ser nollvärden, det betyder att du helt enkelt inte använde vänsterposttyper eller taxonomier.

Och det här är vad jag fick med den senaste begäran.

Titta hur min blogg blev snabbare efter detta. Det är bara en saga!

Jag är säker på att du har samma sak! Kolla in det och skriv tillbaka till mig senare.

Plugin för att arbeta med inläggsredigerare

Jag kan också rekommendera Revision Control-plugin, den låter dig göra samma sak som jag beskrev, bara i ett bekvämare läge för dig. Direkt i adminpanelen.

Om du fortfarande har frågor, fråga, jag hjälper dig gärna. Det var allt tills vidare. Tack för din uppmärksamhet.

När du skapar, redigerar och sparar artiklar och deras utkast i WordPress skapas automatiskt säkerhetskopior automatiskt, vanligtvis kallade Revisioner eller upplagor(revisioner).
Att spara revisioner är naturligtvis användbart, eftersom till exempel om det finns fel i formateringen av materialet, eller fel på din dator eller server, får du möjlighet att återställa någon av de tidigare versionerna av din inspelning. Men funktionaliteten att spara revisioner har också en negativ sida.

När allt kommer omkring lagras alla säkerhetskopior (revisioner, utgåvor) i din bloggs databas, i en tabell wp_posts. Och om du har skapat många poster, och samtidigt redigerades de ofta, kommer storleken på databasen att vara för stor. Dessutom kommer exekveringen av frågor till databasen att sakta ner.

Du kan se listan över tillgängliga versioner längst ned på sidan för inläggsredigering:

Revisioner, redigeringar av WordPress-inlägg

Inaktivera, begränsa, ta bort WordPress-revisioner Det visar sig att det inte alls är svårt.
Låt oss titta på allt i ordning med WordPress 3.3.1 som exempel.

Men kom bara ihåg att säkerhetskopiera din databas innan du gör ändringar!

Inaktiverar revisioner i WordPress

För att inaktivera skapandet av revisioner (utgåvor) måste du lägga till en rad i filen wp-config.php

Define("WP_POST_REVISIONS", 0);

Define("WP_POST_REVISIONS", false);

Det finns ett annat alternativ för att inaktivera revisioner - ändra ett av värdena från "true" till "0" eller "false" i funktionen wp_functionality_constants(), som finns i filen /wp-includes/default-constants.php

Funktion wp_functionality_constants() ( ... if (!defined("WP_POST_REVISIONS")) define("WP_POST_REVISIONS", false); ...

Begränsa antalet revisioner i WordPress

För att begränsa antalet revisioner (upplagor) måste du lägga till en rad i filen wp-config.php, som det var när du inaktiverade revisioner, men istället för värdet "0" eller "false" ange ett heltal:

Define("WP_POST_REVISIONS", 3);

I det här fallet kommer maximalt 3 revisioner att skapas per artikel, plus en "AutoSpara" kopia.

Notera för minne:
Att göra ovanstående ändringar kommer inte omedelbart att minska antalet revisioner som redan finns i databasen. Men ändringarna kommer att träda i kraft när befintliga poster uppdateras, och separat. De kommer också att beaktas när du skapar nya poster. Det är också värt att tänka på att i redigeringsläget, förutom revisioner i databasen, kommer en enda kopia av posten att spelas in var 60:e sekund som "Auto-spara".

Ta bort alla WordPress-revisioner från databasen

Om din blogg har funnits länge och har många inlägg, så skadar det inte att optimera sin databas genom att ta bort tidigare skapade revisioner (utgåvor) och därmed minska storleken på tabellen wp_posts.

Uppmärksamhet! Glöm inte att säkerhetskopiera din databas innan du tar bort alla versioner! Annars kommer det inte längre att vara möjligt att återställa raderade versioner.

Så vi måste utföra flera åtgärder:

1. Logga in på din databas kontrollpanel, till exempel phpMyAdmin;
2. Välj namnet på databasen som används av din blogg;
3. Klicka på knappen (eller fliken) märkt "SQL" (vanligtvis finns den högst upp på sidan);
4. Ange denna fråga i fältet SQL-frågor:

DELETE FROM wp_posts WHERE post_type = "revision";

5. Klicka på "Ok"-knappen för att slutföra begäran;

Det är allt. Nu databasen för din blogg, eller mer specifikt tabellen wp_posts, har kraftigt minskat i storlek.

Till sist vill jag säga att ovanstående exempel på att ta bort revisioner(upplagor) är den enklaste och mest oflexibla. Du kanske vill ta bort inte alla revisioner, utan selektivt, till exempel, lämna de tre sista revisionerna i varje post. I det här fallet måste du antingen köra en mer avancerad fråga i databasen eller använda en speciell plugin. Lyckligtvis finns det gott om plugins för att hantera revisioner och databaser.

Hej kära läsare. Idag skulle jag vilja prata om revisioner i WordPress, hur du kan begränsa antalet gånger de sparas i databasen per inlägg eller sida, och hur du inaktiverar och tar bort dem helt.

Vad är utgåvor och varför behövs de?

Editorials (revisioner) i WordPress– Det här är säkerhetskopior som sparas i databasen varje gång ett inlägg eller sida uppdateras. Å ena sidan är detta bekvämt, eftersom du alltid kan återställa en säkerhetskopia av en artikel när som helst, eftersom WordPress sparar absolut alla säkerhetskopior. Men låt oss föreställa oss att du har ett högt laddat projekt med hög daglig trafik och en enorm mängd innehåll. Vad händer då? Då kan databasen uppleva enorma belastningar. Vad kan vi göra? Om du fortfarande behöver revideringar av inlägg och sidor kan du begränsa antalet gånger de sparas, eller så kan du helt inaktivera och ta bort dem och därigenom minska belastningen.

Begränsar antalet sparade ändringar

Antalet revisioner i WordPress kan begränsas på två sätt:

  1. Använda konstanten WP_POST_REVISIONS;
  2. Använda wp_revisions_to_keep-kroken (denna krok låter dig också välja vilken typ av inlägg som begränsningen är satt för, vare sig det är standard eller anpassade inläggstyper).

För att begränsa antalet sparade revisioner med WP_POST_REVISIONS-konstanten måste du lägga till följande kod i konfigurationsfilen wp-config.php (den finns i roten av webbplatsen):

Define("WP_POST_REVISIONS" , 1);

Nu, för varje inlägg och sida, kommer en revision att lagras i databasen.

Som jag skrev ovan ger wp_revisions_to_keep-kroken fler alternativ. Nedan är ett exempel på kod för att begränsa antalet sparade revisioner med kommentarer, som du behöver lägga till i ditt temas functions.php-fil:

/** * Begränsning av antalet sparade revisioner med hjälp av wp_revisions_to_keep kroken * @param heltal $count - antal revisioner * @param objekt $post - post objekt */ funktion limit_save_revisions_db($count, $post) ( if ($post- >post_type = = "page") (//för vanliga WordPress-sidor, spara 1 revision return 1; ) elseif ($post->post_type == "post") (//för vanliga WordPress-inlägg, spara 3 revisioner return 3; ) elseif ($post ->post_type == "recensioner") (//för den anpassade posttypen "Reviews" sparar vi inte revisioner return 0; ) else (//för alla andra sparar vi 3 revisioner return 3; ) ) add_action("wp_revisions_to_keep", "limit_save_revisions_db" , 10, 2);

Slutför inaktivering och borttagning av revisioner

Om du bestämmer dig för att inaktivera revisioner på din webbplats helt och hållet kan du också använda wp_revisions_to_keep-kroken genom att lägga till följande kod till ditt temas functions.php-fil:

/* * Totala revisionsavaktiveringar * @param heltal $count - antal revisioner */ funktion deactivate_revisions($count) ( return 0; ) add_filter("wp_revisions_to_keep", "deactivate_revisions");

Dessutom, efter att ha helt inaktiverat utgåvor, är det lämpligt att ta bort dem från databasen. Trots allt, innan avstängningen, var de fortfarande bevarade och kommer nu att ligga där som onödig "död" vikt. För att göra detta måste du gå till PHPMyAdmin, hitta önskad databas och öppna tabellen wp_posts i den. Klicka sedan på SQL-fliken och kör följande fråga:

DELETE FROM `wp_posts` WHERE post_type = "revision";

Nu måste du ta bort all metadata (wp_postmeta-tabell) och taxonomier (tabell med wp_term_relationships) för utgåvorna. För att göra detta kör vi ytterligare två frågor:

DELETE FROM wp_postmeta WHERE post_id IN (VÄLJ ID FRÅN wp_posts WHERE post_type = "revision" OCH post_name SOM "%revision%"); DELETE FROM wp_term_relationships WHERE object_id IN (VÄLJ ID FRÅN wp_posts WHERE post_type = "revision" OCH post_name SOM "%revision%");

Naturligtvis är det bäst att säkerhetskopiera din databas innan du kör dessa frågor.

Det är allt. Jag hoppas att artikeln var användbar för dig. Lycka till allihopa!!!