Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
WPB Cup
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

Så här flyttar du JavaScript till längst ner eller till footern i WordPress

Nyligen frågade en av våra läsare oss hur de kan flytta JavaScripts längst ner i WordPress för att öka sidhastigheten på Google. Vi är glada att de frågade, för ärligt talat ville vi skriva om detta. Tidigare har vi pratat om hur man korrekt add to JavaScripts och CSS-stilar i WordPress. I den här artikeln kommer vi att visa dig hur du flyttar JavaScript längst ner i WordPress, så att du kan förbättra din sites laddningstid och din Google page speed score.

Fördelar med att flytta JavaScripts längst ner

JavaScript är ett programmeringsspråk på klientsidan. Det exekveras och körs av användarens web browser eller ej av din web server. När du placerar JavaScript högst upp kan webbläsare köra eller bearbeta JavaScript innan de hämtar resten av din page. När JavaScripts flyttas längst ner, skulle din web server snabbt rendera sidan och sedan skulle användarens web browser köra JavaScripts. Eftersom all rendering på serversidan redan är gjord, kommer JavaScript att hämtas i bakgrunden, vilket gör att den totala laddningen går snabbare.

Detta kommer att förbättra din hastighetspoäng när du testar med Google page speed eller Yslow. Google och andra search engines tar nu hänsyn till page speed som en av prestandamatriserna när de displayed sökresultat. Detta innebär att websites som hämtar snabbare kommer att visas mer framträdande i sökresultaten.

Så här lägger du till skript i WordPress på rätt sätt

WordPress har ett kraftfullt invänta [granskning] / kö-system som allow utvecklare av teman och plugins att add to sina skript i kö och hämta dem efter behov. Om du hämtar skript och pages på rätt sätt kan du förbättra din pages laddningshastighet avsevärt.

För att visa dig ett grundläggande exempel kommer vi att add to lite JavaScript i ett WordPress theme. Save your JavaScript in a .js file and place that .j s file in your theme’s js directory. Om ditt theme inte har en directory för JavaScripts, skapa då en. När du har placerat din skriptfil redigerar du ditt temas functions.php-fil och add to denna kod:

function wpb_adding_scripts() {
wp_register_script('my-amazing-script', get_template_directory_uri() . '/js/my-amazing-script.js','','1.1', true);
wp_enqueue_script('my-amazing-script');
}
add_action( 'wp_enqueue_scripts', 'wpb_adding_scripts' );  

I den här koden har vi använt wp_register_script()-funktionen. Denna funktion har följande parametrar:

<?php
wp_register_script( $handle, $src, $deps, $ver, $in_footer );
?>

Om du vill add to skriptet i sidfoten eller längst ner på en WordPress page behöver du bara ställa in parametern $in_footer till true.

Vi har också använt en annan funktion get_template_directory_uri() som returnerar URL:en för templates directory. Denna funktion bör användas för att köa och registrera skript och stilar i WordPress themes. För tillägg kommer vi att använda funktionen plugins_url().

Problemet:

Problemet är att vissa gånger lägger WordPress tillägg till sitt eget JavaScript till pages inuti <head> eller inuti page body. För att flytta dessa skript längst ner måste du editera dina plugin-filer och flytta skripten korrekt till längst ner.

Hitta källan till JavaScript

Öppna din site i web browsern och view page source. You will see the link to the JavaScript file indicating the location and the origin of the file. Till exempel visar screenshoten under att vårt skript tillhör ett plugin som heter ”test-plugin101”. Skriptfilen finns i js directory.

Finding source of a script in WordPress

Ibland ser du JavaScript add to direkt på page och ej länkad via en separat .js-fil. I så fall måste du deactivate alla dina tillägg ett efter ett. Uppdatera sidan efter att ha deactivate varje plugin tills du hittar den som lägger till skriptet på dina pages. Om JavaScript inte försvinner även efter att du har deactivate alla plugins, försök då att byta till ett annat theme för att se om JavaScript läggs till av your theme.

Registrera och köa skript

När du har hittat det plugin eller tema som lägger till JavaScript i header-sektionen är nästa steg att ta reda på var pluginet har ett anrop för filen. I en av ditt temas eller plugins PHP-filer kommer du att se ett anrop till den viss .js-filen.

Om pluginet eller temat redan använder enqueuing för att lägga till JavaScript-filen, är allt du behöver göra att ändra wp_register_script-funktionen i ditt plugin eller tema och lägga till true för $in_footer-parametern. Gilla det här:


wp_register_script('script-handle', plugins_url('js/script.js'  , __FILE__ ),'','1.0',true);

Låt oss anta att ditt plugin eller tema lägger till rå JavaScript i headern eller mellan innehållet. Hitta den råa JavaScript-koden i plugin- eller theme-filerna, kopiera JavaScript och save den i en .js-fil. Använd sedan wp_register_script( )-funktionen som visas ovan för att flytta JavaScript längst ner.

Editor’s note: Det är viktigt att förstå att när du gör ändringar i core-filerna och uppdaterar pluginet, så kommer dina ändringar ej att åsidosättas. Ett bättre sätt att göra detta skulle vara att avregistrera skriptet och registrera det igen från ditt temas functions.php-fil. Se denna tutorial.

Notis: Förutom att flytta skripten till footern, bör du också överväga att använda ett snabbare plugin för social media och lazy loaded images. Tillsammans med det bör du också använda W3 Total Caching och MaxCDN för att förbättra hastigheten på din site.

Vi hoppas att den här artikeln hjälpte dig att flytta JavaScript längst ner i WordPress och förbättra hastigheten på din page. För frågor och återkoppling vänligen lämna en comment under.

Avslöjande: Vårt innehåll stöds av våra läsare. Det innebär att om du klickar på några av våra länkar, kan vi tjäna en provision. Se hur WPBeginner finansieras, varför det är viktigt, och hur du kan stödja oss. Här är vår editoriala process.

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

Den ultimata WordPress-verktygslådan

Få GRATIS tillgång till vår verktygslåda - en samling WordPress-relaterade produkter och resurser som varje professionell användare bör ha!

Reader Interactions

17 kommentarerLämna ett svar

  1. Syed Balkhi says

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. Catharine says

    Hi Syed, thanks for the tutorial. However I am a complete noob and have a very basic question. For that piece of code you posted (the entire function etc), do we need to add that in the functions.php file for every single bit of javascript we want to enqueue? I guess what I’m asking is, how would you format that code if you had more than one piece of javascript that was being loaded in the headers of more than one page?
    Your help would be greatly appreciated!

  3. Marc Jacobs says

    hi, great tutorial. I have a question though. I ran my website through Google Page Speed Insights and got the warning that I had to eliminate render blocking Javascript (and css) to boost my page speed. I read the information on this website (great read!), but I cannot seem to find the php-files where the plugin ”calls” for the js-files causing my website to lack speed. I have figured out what plug-in is causing most of the delay (Google-maps-ready), but I have no idea how to precoeed frpm there. I have searched every php-file in the plugin folder, but can’s find a js-file named remotely similar to the files mentioned in the google speed test:

    How do I figure out what php file to edit? Help wouldbe much appreciated!

    greeting,

    Marc.

  4. Basavaraj Tonagatti says

    Hi, I recently moved to Genesis Framework+Eleven 40 Child Theme. I am also facing the same problem while I run the Google page speed test. But as I don’t know the exact way of doing, finding it difficult to make changes. Can anyone guide me what is the exact cause on my site and how to remove this Javascript issue? (I don’t know any styling languages and I am totally unware about these code languages.)

  5. Joseph Stanley-Hunt says

    Thanks heaps, I have been wondering how to do this and some other tricks (which I have also found answers to on here).

    One question tho, I see there is no in-head in the paramaters. is that meaning that if the in_footer is set to false, it is registered in the head automatically?

  6. Jason says

    Great article! I have been asking this questions for a long time because so many themes get penalized in Googls speed test due to java scripts loading first. Maybe others have known how to put these scripts in the footer.

    Again, thanks and I will try this out and tell you how it works.

  7. Jeremy Myers says

    Great tutorial.

    But once we update the plugin, we will have to do this again, right? And every time the plugin updates?

    Is it possible to deregister the js in functions.php and then simply reregister it in the footer somehow?

  8. adam says

    Hi, thanks for this useful tips. But, how to move .js of W3 Total Cache minify on head?
    That’s js location on cache in wp content, not wp plugin.

Lämna ett svar

Tack för att du väljer att lämna en kommentar. Tänk på att alla kommentarer modereras enligt våra policy för kommentarer, och din e-postadress kommer INTE att publiceras. Vänligen använd INTE nyckelord i namnfältet. Låt oss ha en personlig och meningsfull konversation.