WordPress Archives - Go Fish Digital https://gofishdigital.com/blog/category/wordpress/ Tue, 18 Jun 2024 17:26:32 +0000 en-US hourly 1 https://wordpress.org/?v=6.6 https://gofishdigital.com/wp-content/uploads/2021/09/cropped-gfdicon-color-favicon-1-32x32.png WordPress Archives - Go Fish Digital https://gofishdigital.com/blog/category/wordpress/ 32 32 How To Bulk Import Title Tags And Meta Descriptions To Yoast https://gofishdigital.com/blog/bulk-update-title-meta/ https://gofishdigital.com/blog/bulk-update-title-meta/#respond Sat, 01 Jun 2024 13:00:59 +0000 https://gofishdigital.com/bulk-update-title-meta/ Quality title tags and meta descriptions are important for SEO.  Imperative, even.  And yet, because of how large of a task it can be, many will procrastinate rather than diving in. Related Content: Technical SEO Agency Franchise SEO Agency WordPress SEO Services Enterprise SEO Services Writing or rewriting all of the title tags and meta descriptions, […]

How To Bulk Import Title Tags And Meta Descriptions To Yoast is an original blog post first published on Go Fish Digital.

]]>
Quality title tags and meta descriptions are important for SEO.  Imperative, even.  And yet, because of how large of a task it can be, many will procrastinate rather than diving in.

Related Content:

Writing or rewriting all of the title tags and meta descriptions, while working keywords into the copy, is a tremendous accomplishment for any mid- to large-sized website. And, unfortunately, just finishing them in the spreadsheet doesn’t mean you are done.  You still have to actually get them into the CMS.

While this is easily done manually on a 10 page website, the time it takes to implement them for an enterprise site with thousands of pages could take up many precious hours.

For me, when it came time to add hundreds of title tags and meta descriptions, I knew the process was going to be extremely tedious and time consuming. After a while, myself and the WordPress SEO agency here at Go Fish Digital had a discussion on how we could automate this process.

What we found was a way to bulk import metadata such as title tags and meta descriptions for clients on WordPress using the Yoast SEO Plugin.

Items You Will Need To Bulk Import Metadata To Yoast

Before you begin, you’re going to need to do a little bit of prep work to ensure that you have all the required information and software to import the data:

  1. FTP & front-end access to the site (must be in WordPress)
  2. A CSV of the updated metadata
  3. The Really Simple CSV Importer
  4. The Yoast SEO for WordPress Plugin
  5. Cyberduck

Once you have the above items, then you’re ready to begin.

How To Bulk Import Metadata To Yoast

These are the steps to bulk import metadata using Yoast:

  1. Backup your website
  2. Extract every page’s post_id
  3. Map your post_id to the URL
  4. Bulk upload the data using a plugin

1. Backup Your Website

Before doing anything concerning changing large amounts of data on a website, it’s always a good idea to perform a site backup first. This is especially important if you are going to be changing information on hundreds of pages at once.

If you end up uploading the wrong data, you could be spending twice as much time going back through every page and manually changing the metadata again. Do yourself a favor and avoid this situation by performing a site backup before you start this task.

2. Extract Every Page’s post_id In WordPress

In order to import the metadata to the right location, you’re going to need to map it to the proper page. We can do this using the WordPress Post ID. Simply put, the post_id is a unique number assigned to every page on your WordPress site. You can actually see it in the URL when you’re editing a particular page.

WordPressPostID

 

While you can find the post_id at the page level, the problem is that WordPress’s built in functionality doesn’t allow you to easily export all of a domain’s post_id’s. Instead, you’ll have to manually upload a PHP file to your server to get this information.

Fortunately, we’ve created a PHP snippet that will return the post_id. Save the following snippet as a PHP file named “export.php”.

————————-

<?php

include “wp-load.php”;

$wp_querywpcq1 = null;
$wp_querywpcq1 = new WP_Query();
$argswpcq1 = array(‘post_type’ => array(‘post’), ‘posts_per_page’ => 12, ‘order’ => ‘DESC’, ‘orderby’ => ‘date’, ‘paged’ => $paged);
$wp_querywpcq1->query($argswpcq1);
if ($wp_querywpcq1->have_posts() && $wp_querywpcq1->found_posts > 0):
while ( $wp_querywpcq1->have_posts() ) : $wp_querywpcq1->the_post();

echo “\n{“.$post->ID.”},{“.get_the_permalink().”},{“.get_the_title().”}”;

endwhile;
endif;
?>

————————-

Next, you’re going to need to connect to the server. Open up your favorite FTP client software (I use CyberDuck) and enter the proper credentials to connect. Once you’re connected, all you have to do is simply drag your “export.php” file into the root folder.

Now that you’ve uploaded your PHP snippet, it’s time to run it. To do this, go to “yourdomain.com/export.php”. This will execute your snippet and provide you with a document of all of the URLs on your website mapped to their associated post_id.

Export this information to a CSV and use “Text to Columns” to separate the URLs and post_ids.

3. Map Your post_id To The URL

Now that you have mapped a post_id to every URL on your website, it’s time to fetch the post_ids of just the pages you are changing. In a separate tab on your CSV, ensure that you have the following three columns of information about the pages to be updated:

  1. URL
  2. Recommended Metadata
  3. post_id (blank for now)

Next use the VLOOKUP function to grab the post_id from your original list. You should use the URL as the key for this function.

In this example, I changed the “Recommended Title Tag” field to “_yoast_wpseo_title”. This field is what allows Yoast to change the title tag of a post when the CSV is uploaded. However, this field will change based on what type of metadata you are importing to Yoast. Finally, after you have mapped the post_ids to the URLs, you can go ahead and delete the “URL” column. The final CSV you upload should only contain the following two columns:

  1. post_id
  2. Recommended Metadata (_yoast_wpseo_title in this example)

 

The great thing about this process is that you can bulk edit a lot of the information in Yoast using their Custom Fields. By referencing the table below, you should be able to update the metadata in Yoast for title tags, meta descriptions, canonical URLs and much more:

*Note: We have only tested this using title tags and meta descriptions

Name Custom Field Values
Focus Keyword _yoast_wpseo_focuskw Text string
SEO Title _yoast_wpseo_title Text string
Meta Description _yoast_wpseo_metadesc Text string
Meta Robots Index _yoast_wpseo_meta-robots-noindex Blank for default, 1 for noindex, or 2 for index
Meta Robots Follow _yoast_wpseo_meta-robots-nofollow Blank for follow, 1 for nofollow
Meta Robots Advanced _yoast_wpseo_meta-robots-adv Blank for default, none, noodp, noydir, noimageindex, noarchive, or nosnippet
Include in Sitemap _yoast_wpseo_sitemap-include Blank for auto, always, or never
Sitemap Priority _yoast_wpseo_sitemap-prio Blank for auto, 1 to .1
Canonical URL _yoast_wpseo_canonical Canonical URL of post
301 Redirect _yoast_wpseo_redirect URL to redirect post to
Facebook Title _yoast_wpseo_opengraph-title Text string
Facebook Description _yoast_wpseo_opengraph Text string
Facebook Image _yoast_wpseo_opengraph-image URL to image

 

4. Import Your CSV

Now that your CSV is ready, it’s time to upload it to WordPress. Download and activate the Really Simple CSV Importer plugin. Once installed, navigate to Tools >> Import >>CSV and upload the document. Sit back and let WordPress do the rest of the work for you. After the import is complete, run a crawl of the website to ensure that the information was imported properly.

Once you refine this process, it should only take around half and hour to bulk import metadata for hundreds or even thousands of pages to Yoast. Enjoy!

How To Bulk Import Title Tags And Meta Descriptions To Yoast is an original blog post first published on Go Fish Digital.

]]>
https://gofishdigital.com/blog/bulk-update-title-meta/feed/ 0
Building a Custom WordPress Website: A Comprehensive Guide https://gofishdigital.com/blog/building-a-custom-wordpress-website-a-comprehensive-guide/ https://gofishdigital.com/blog/building-a-custom-wordpress-website-a-comprehensive-guide/#respond Thu, 25 Jan 2024 15:00:57 +0000 https://gofishdigital.com/?p=7344 WordPress: a name that has become almost synonymous with website creation. This powerful content management system (CMS), powering over 40% of the web, stands out for its user-friendly interface, flexibility, and a vast array of customizable options. In the digital era, where online presence is crucial, WordPress emerges as a reliable tool for building anything […]

Building a Custom WordPress Website: A Comprehensive Guide is an original blog post first published on Go Fish Digital.

]]>
WordPress: a name that has become almost synonymous with website creation. This powerful content management system (CMS), powering over 40% of the web, stands out for its user-friendly interface, flexibility, and a vast array of customizable options. In the digital era, where online presence is crucial, WordPress emerges as a reliable tool for building anything from simple blogs to complex e-commerce sites. Whether you’re a small business owner, a startup brand, or a blogger, having a website is no longer just an option; it’s a vital part of your digital identity and a significant factor in your success.

1. Planning Your Website

Defining the Purpose

The foundation of a successful website is understanding its core goal. Is it to sell products, provide services, share knowledge, or showcase a portfolio? This clarity in purpose not only guides your design and development process but also helps in creating targeted content that resonates with your audience.

Target Audience Analysis

Knowing your audience is key to creating a website that appeals to them. Are they young tech enthusiasts, busy professionals, or hobbyists? This understanding influences not just the content but also the design, functionality, and overall user experience of your site.

2. Setting Up the Basics

Domain Name Selection

Choosing the right domain name is crucial as it forms the first impression. It should be memorable, easy to type, and reflective of your brand or content. Think of it as your digital identity that people will remember and search for.

Choosing a Hosting Provider

Selecting a hosting provider is like choosing a home for your website. Look for reliability, speed, customer service, and scalability. A good host ensures your website is accessible, fast, and secure. We love WPEngine for its customer support and high uptime.

3. Installing WordPress

Step-by-Step Guide

Installing WordPress can seem daunting, but it’s quite straightforward. Begin by downloading WordPress, uploading it to your hosting account, creating a database, and following the installation script. This process sets the foundation for your website.

Setting Up a Database

A database is where all your site’s data, including posts, pages, and settings, are stored. Creating one is usually a simple process, involving naming the database and assigning a user with specific privileges.

Navigating the Dashboard

The WordPress Dashboard is your control panel, where you manage content, appearance, and functionality. Spend time familiarizing yourself with its features, as it will be the central hub for all your site management activities.

on page elements

4. Selecting a Theme

Importance of a Good Theme

The right theme not only gives your site its aesthetic appeal but also plays a crucial role in its functionality. Choose a theme that aligns with your site’s purpose and offers the flexibility you need. We prefer to build custom themes that meet your exact requirements, but there are good off-the-shelf themes. Be sure to consider the overall file size and choose a theme that is lightweight.

Free vs Premium Themes

Free themes are a good start for those on a budget, but premium themes often offer more advanced features, dedicated support, and regular updates, which are essential for a dynamic and evolving website.

Installing and Customizing a Theme

Installing a theme is just the beginning. Customize it to fit your brand’s identity, from colors and fonts to layout and functionality. This personalization makes your site stand out and reflect your unique style.

5. Plugins and Customization

Essential WordPress Plugins

Plugins are the building blocks of your WordPress site’s functionality. Essential plugins include ones for SEO, security, performance optimization, and social media integration. They add features and improve your site’s performance.

Customizing with Plugins

Plugins allow for extensive customization without needing to code. Whether you need a contact form, an SEO tool, or a fancy slider, there’s likely a plugin for that. But remember, less is more; too many plugins can slow down your site.

Plugin Management Tips

Keep your plugins updated and delete those you don’t use. Regular updates ensure security and functionality while removing unused plugins helps maintain a clean and efficient website environment.

6. Creating Content

Adding and Editing Posts and Pages

WordPress makes adding and editing content simple. Posts are typically used for blog entries and dynamic content, while pages are for static content like ‘About Us’ or ‘Contact’. Both offer different options for organizing and presenting your content.

Using the WordPress Editor

The WordPress editor is a powerful tool that allows you to easily add and format your content. It supports various media types and provides options for layout and design, making your content engaging and versatile.

Best Practices for Content Creation

Quality content is key to engaging your audience. Write clear, concise, and engaging copy. Use multimedia to enhance your message, and organize your content for easy navigation. Consistency and quality are crucial for building and maintaining an audience.

large images on a computer screen

7. Managing Media

Uploading and Managing Images and Videos

WordPress’s Media Library is a centralized place to manage all your images, videos, and other media files. It’s important to keep this area organized and ensure all media is optimized for the web.

Image Optimization

Optimizing images is crucial for website performance. Large image files can slow down your site, negatively impacting user experience and SEO. Use tools to compress and optimize images without losing quality.

8. SEO and Marketing

Basics of WordPress SEO

SEO (Search Engine Optimization) is vital for getting your website noticed. Use keywords effectively, optimize your meta descriptions, and ensure your content is high-quality and relevant. For more advise on how to optimize your website, check out the Go Fish Digital blog, or sign up for our newsletter.

Plugins for SEO

SEO plugins like Yoast SEO guide you through optimizing each page and post. They help in adding meta tags, creating sitemaps, and offering suggestions to improve your site’s SEO.

Social Media Integration

Integrating your website with social media platforms can significantly enhance its reach and engagement. Use plugins to add social sharing buttons and connect your site with your social media profiles.

9. Security and Maintenance

Keeping WordPress Secure

WordPress’s popularity makes it a target for hackers. Keep your site secure with strong passwords, security plugins, and regular monitoring of your site’s health.

Regular Updates and Backups

Regularly updating WordPress, themes, and plugins is crucial for security and functionality. Also, implement a backup solution to protect your data in case of any mishaps.

Dealing with Common Issues

Be prepared to handle common website issues like broken links, or update errors. Knowing how to troubleshoot these problems will save you time and stress. The good news is that if you encounter an issue, there are a ton of helpful resources online related to WordPress.

10. Advanced Customizations

Introduction to WordPress Coding

For those who wish to dive deeper into customization, learning basic HTML, CSS, and PHP can open up a world of possibilities. This knowledge allows for fine-tuning and creating custom functionalities.

Custom CSS and Child Themes

Use custom CSS and child themes to make advanced visual changes without affecting the original theme. This approach ensures that your customizations are preserved during theme updates.

Using Page Builders

Page builders like Elementor offer intuitive drag-and-drop interfaces for creating custom layouts and designs. They are a good option for those who want to design unique pages without delving into code. Like any page builder, they can add bloat to the overall website, and we’d recommend avoiding them when possible.

11. Analytics and Improvement

Setting up Google Analytics

Google Analytics provides insights into your website’s traffic and user behavior. It’s a powerful tool for understanding how visitors interact with your site, which can inform your content and marketing strategies.

Interpreting Visitor Data

Analyzing visitor data helps in making informed decisions about content, design, and functionality. It allows you to see what’s working and what needs improvement, guiding your website’s evolution.

Continuous Improvement

Website creation is not a one-time task but an ongoing process. Continuously updating content, improving design, and staying abreast of the latest web trends are crucial for maintaining a relevant and successful website.

12. Conclusion

In this guide, we’ve scratched the surface of the essential steps in building a WordPress website, from planning to maintenance. Remember, the journey doesn’t end with the launch of your site; it’s an ongoing process of learning, growing, and adapting. And, if you need more guidance or want to hand the process over to a team of experts, Go Fish Digital can handle your website design and development needs.

Building a Custom WordPress Website: A Comprehensive Guide is an original blog post first published on Go Fish Digital.

]]>
https://gofishdigital.com/blog/building-a-custom-wordpress-website-a-comprehensive-guide/feed/ 0
Common SEO Missteps When Launching a Website https://gofishdigital.com/blog/common-seo-missteps-when-launching-a-website/ https://gofishdigital.com/blog/common-seo-missteps-when-launching-a-website/#respond Tue, 03 Dec 2019 15:00:40 +0000 https://gofishdigital.com/common-seo-missteps-when-launching-a-website/ There are infinite reasons to redesign or redevelop a website. I won’t get into them all today, but instead, I would like to talk about how to avoid common pitfalls that can put a damper on all of the hard work leading up to your site’s launch. I’ve been helping clients launch websites for about […]

Common SEO Missteps When Launching a Website is an original blog post first published on Go Fish Digital.

]]>
There are infinite reasons to redesign or redevelop a website. I won’t get into them all today, but instead, I would like to talk about how to avoid common pitfalls that can put a damper on all of the hard work leading up to your site’s launch.

I’ve been helping clients launch websites for about 10 years. And while that still makes me a bit of a toddler in Internet Years™, I’ve seen enough to know that every launch has its challenges, and I’ve learned something new each time. But, some constants that I’ve seen across many of the websites I’ve helped launch have to do with SEO.

Related Content:

Time and time again, I see “SEO” considered an afterthought and only allotted a small amount of resources or attention before websites are launched. I typically see people end up with a fully approved and functioning staging site who think the last step is to “flip the switch.” Even though that would great, that’s very seldom the case. I’ll walk you through some “must do” tasks before launching your new site. Ok, let’s get started.

Prepare your stakeholders.

The launch of a new website is typically the culmination of months of effort and cross-team collaboration. And once you have a “final” approved website, that’s not the end unfortunately, but rather the beginning. Before your site goes live, there’s still a lot to be done from a communications standpoint.

Websites receive traffic from a variety of channels, including these main ones:

  • Organic (searches performed on search engines)
  • Paid (clicks on paid ads, on search engines, or social platforms)
  • Direct (someone typing in your domain name)
  • Referrals (visits to your site from a link on another site)

The volume of referral and direct visits aren’t likely to change, assuming your website has 301 redirects set up properly (more on that in a minute). Organic traffic is the channel at the greatest risk of decline following a site change, and that should be conveyed to the site’s key stakeholders prior to launch.

Think about how websites are structured. There’s HTML, CSS, usually some JavaScript, third-party tracking codes, assets like images and videos, etc. Even if you’re “only” updating the appearance of the site and all the content remains the same, the code is going to end up looking wildly different. And that’s important to keep in mind because that’s how Google and other search engines process your webpages.

Knowing and understanding that even a minor or simple redesign is going to potentially have a big impact on organic site performance is critical. I always tell clients to expect a period of up to 4-6 weeks of potential traffic decline to allow for Google to recognize that there’s been a change, understand the change, and update its ranking of pages accordingly. During this period of re-understanding and re-indexation, it’s not uncommon to see traffic declines. Unless user testing was completed as a part of the design process, it’s also possible to see conversion declines. That can be a tough pill to swallow after spending five or six figures on a new site.

As SEOs, we can take steps to mitigate those losses.

Prepare your site.

So, how exactly can we ensure that organic traffic rankings hold steady or even improve? There are a number of items that are great starting points.

Using a crawling tool like Screaming Frog to perform a site crawl.

Look for pages that are missing key SEO elements like title tags, proper heading hierarchy, canonicals, etc. Fix those issues first.

I’ve seen sites almost go live with every single one of the product pages labeled as “Product Page” instead of having a unique title tag. Even if Google kept the page in the exact same ranking position, the click-through rate is going to plummet as “Product Page” is not exactly compelling. Read more about analyzing your site crawl.

Confirm that your 301 redirect map is in working order.

I like to plan a heuristic early on during the site architecture phase to map out existing URLs to their new and improved URLs, but inevitably during development, things change. You should make sure your 301s are still accurate and your implementation method is prepped and ready to go before you go live. A single .txt file utilizing Regex is my preferred method for redirect management.

Only URLs that are changing need to be a part of your 301 redirect plan. I’ve seen sites launch with /page/ redirecting to /page/ which will loop forever and never actually load. Not great.

Keep the same analytics tracking implementation if possible.

By keeping the same Google Analytics view on your new site, you’ll be able to more easily compare data and performance. Of course, if you’re changing URLs that makes the comparison more difficult, but not impossible. Having that historical data will allow you to point out month-to-month patterns, seasonal trend lines, and more to help you decipher what’s noise and what changes in performance deserve your attention.

If you must change your Analytics view, it’s not the end of the world. It’s far better than the alternative of forgetting to add the analytics script altogether!

Don’t sleep on schema.

If your site had schema previously, it’s a good idea to confirm it has been added to your new site. If your previous site didn’t have schema, a relaunch is a good time to add it in. Structured data markup is a way to add more context to your website and webpage content. At Go Fish, we prefer a JSON-LD implementation.

Google has a free structured data testing tool that will validate your structured data and show you any errors encountered. Read more about structured data in search.

Develop a need for (site) speed.

In a good scenario, your new website will have improved page load times because you’ve compressed all the images, offloaded large resources (by utilizing YouTube for video hosting, etc.), and written succinct code. In an ideal scenario, your site loads – on both mobile and desktop devices – in under two seconds. Google is crawling the mobile version of websites first, so it’s imperative the mobile experience is optimized.

With a launch earlier this year, we took the mobile load times of a homepage from 13 seconds down to two. We did so by removing the large video playing in the background, using SVGs (a next-gen image format), and most impactfully, custom-coding a WordPress theme on top of WP Core, rather than using a popular, off-the-shelf page builder. (You’ll think you want a page builder but resist that urge. They are bloated, frustrating for the site admin, and will cause you much more harm than good.) Read more about how to improve your WordPress page load times.

XML and TXT and WTF?

Alright, it’s acronym time! One of the very last checks you should do before you launch your shiny new website is to create a new XML sitemap and upload it to your robots.txt file. An XML sitemap is a list of all the URLs you want indexed by search engines. It helps crawlers understand and navigate your site architecture. And the robots.txt file ensures you’re allowing search engines to crawl your site and you’re including other allowed/disallowed directives.

First, generate the new XML sitemap, assuming your URLs changed. Then, reference the new sitemap in the robots.txt file. Lastly, submit your new sitemap to Google once the site goes live.

Speaking of after the site goes live, please, please, if you take away one thing from this post, let it be this – once your new site is live, check the robots.txt file to make sure the developer has removed this line (likely in place during development, added so that the staging site wouldn’t be indexed):

User-agent: *
Disallow: /

We’ve got an excellent post about how to create an XML sitemap if you need further guidance.

Prepare for Launch.

Now that you’ve properly set expectations and communicated them internally, addressed all of the bugs, and set critical SEO elements, you’re ready to launch your website. It’s time for a pat on the back, a round of drinks, and a nap, right? Not yet. Sorry. (Ok, you can have one celebratory beverage – I won’t tell.)

Here’s what you need to do to ensure the continued success of your website.

Map keywords to content.

If you’ve been paying close attention to your organic traffic performance, you’ve also hopefully been tracking the “MVP” keywords that bring in the bulk of that traffic. It’s time to keep a close eye on those keyword rankings and organic session data in analytics. If the content on your site changed. either through page consolidation or marketing re-writes, you’ll want to re-map the target keywords to their new pages or ensure they remain the same.

We’ve had great success in consolidating similar pages to create a robust guide about a particular topic and seeing rankings and performance increase as a result. Read more about keyword strategy.

Monitor, monitor, monitor.

Now that Google is starting to better understand the new site, keep an eye on analytics, rankings, and conversion points, especially in the early days. Analytics should give you a big-picture into overall organic traffic performance and seasonality, but also share some insights on the page level metrics. It’s not uncommon for a page or post to perform poorly and not quite recover. If that’s the case, it can be helpful to look at overall trend lines with that page.

Following a site launch that coincided with a confirmed broad core Google algorithm update, we saw two posts drop over 60% when looking at organic sessions before and after the launch. The posts received a large portion of the overall site traffic, so it appeared as though the entire site was performing worse than before, even though quote requests and other conversions were improved. Once we took out those two posts, organic traffic to the rest of the site was up 15%. We were able to focus on the two posts in question to improve their content and relevance and, in turn, rankings and traffic.

Communicate and pivot.

Lastly, it’s important to over-communicate performance to stakeholders before they start to worry. We know that site migrations and redesigns can be stressful, but we know not to panic as traffic starts to decline. We’ve seen the other side, and given time, we’ve seen the charts moving up and to the right. That being said, if you see performance declines remain for longer than 4-6 weeks, it’s worth taking a deeper dive into the data to determine the cause of the issues.

Congratulations!

Ok, now it’s time for a drink. Or maybe it’s time to start dreaming up version 2.0 of your newly launched site. That’s the beauty of a website – much like homeownership, the work is never done. Catch those cracks before they become huge foundation problems, and continue to make incremental changes to improve on the site you just built!

If you’re not quite ready to take on a site redesign or migration yourself, give us a shout. We’d be happy to partner with you on your website design and development needs!

Common SEO Missteps When Launching a Website is an original blog post first published on Go Fish Digital.

]]>
https://gofishdigital.com/blog/common-seo-missteps-when-launching-a-website/feed/ 0
How To Speed Up WordPress Websites https://gofishdigital.com/blog/improving-page-load-time-wordpress/ https://gofishdigital.com/blog/improving-page-load-time-wordpress/#respond Fri, 12 Apr 2019 13:00:46 +0000 https://gofishdigital.com/improving-page-load-time-wordpress/ If you’ve spent any time developing on WordPress, you’ve probably encountered a slow theme that loads tons of files for no apparent reason, producing a slow website and a big headache. It can be infinitely frustrating to build an awesomely-designed website that runs slowly. This slowness has an effect on everything and everyone involved – […]

How To Speed Up WordPress Websites is an original blog post first published on Go Fish Digital.

]]>
If you’ve spent any time developing on WordPress, you’ve probably encountered a slow theme that loads tons of files for no apparent reason, producing a slow website and a big headache. It can be infinitely frustrating to build an awesomely-designed website that runs slowly. This slowness has an effect on everything and everyone involved – yourself, your business, and your reputation included.

Related Content:

At Go Fish Digital, our WordPress development agency is often called in to solve page load time problems, and we do so in several ways. So, how can you reduce the load time of your WordPress theme or website? I’ve outlined several tips below that will help solve this problem:

1. Detect the WordPress problem

The first thing to do is to determine what is making your WordPress website load slowly. Is it large images, lots of HTTP requests, Javascript files, or all of the above? It’s your job to find out.

 The easiest way to find this information is to use your browser’s internal tools. If you’re using Chrome, navigate to your problematic page, and press Command + Alt/Option + J for Mac, Ctrl + Shift + C or F12 for Windows, or just right click on the page and select “Inspect”. This will bring up your “inspector”. You will see something like the following:

 

 

Yours may come up smaller – that’s normal. You just need to stretch the window to fit more of the information. You can even dock the inspector in different parts of the window or pop it out as its own window if you want. Now, you need to navigate to the “Network” tab in the top middle area. You should see something like the following:

 

 

At this point, you might not see anything in this section. If this happens simply refresh the page. As the page data loads, you’ll start to see this window populate with various entries. These will be various files and network-related calls that can be fine-tuned to speed up your load times.

 

 

Once you sort the entries by which files/calls are taking the most time to load, you’ll start to see items like images, Javascript, and CSS files come up. This is normal, and this is what you’re going to focus on initially.

Note: Sometimes, gathering assets from different websites are the problem (like Facebook/Twitter widgets, Ads, etc.). In these cases, you’ll need to consult with the third party that you’re using to figure out a unique way to reduce the load time. 

2. Use WordPress Minification

Minification is the process of removing redundant or unnecessary data without affecting how everything is processed by the browser. I would start here with most of the issues with a site. Often when you’re looking through the Network tab, you’ll see a ton of CSS files. Every single time the browser has to go to the server to retrieve something like a CSS file, or a Javascript, it causes more load time. Even if a single file is larger than several files separately, the single file will load faster because there are fewer server requests. Here’s a small list of plugins that will help you compress those CSS and Javascript files into a single, manageable download for your visitors:

Autoptimize is a good example of a really simple and useful plugin that will decrease page load times. Our web development team has used it on several websites and we’ve seen great results.

 

 

One thing to remember is that compressing all of the Javascript on your site may lead to some difficulties with other plugins, like WooCommerce, so stay vigilant!

3. Image Compression 

Another common problem that creates slow websites is large image loads on both desktop and mobile. If you looked at your Network tab from before and saw that you had massive images loading, then this part is for you. Luckily, there are a few plugins that help us compress an image. I recommend the following:

To manually compress the images in your theme, however, I would just go to TinyPNG. This tool produces a zip file with all your newly compressed images. You can then upload those files into your theme to overwrite the existing images.

Have you heard about Lazy Loaders? Lazy loading is a Javascript technique that only loads an image on your page when your users actually see it. It’s a pretty handy feature and there are a few plugins that can achieve it:

Once you’re done installing the plugin, refresh the page and be sure to view the Network tab for changes.

Note: It’s a good idea to periodically reoptimize and refresh all the images on your site. There’s a cool little plugin for that right here.

Cache plugins

Caching pages is a very important part of web development and web optimization. Caching basically stores various responses, files, and other information for quick reuse later. You can read a little bit more about it here. Long story short, there are various levels of caching throughout your application/website affecting everything from the server up to the actual web pages that are accessed.

WordPress, with the use of the plugins below, can render data and store it for later use when another visitor hits your site. This will help speed up your site tremendously. I recommend the following cache plugins (be sure to talk to your hosting solution about which they prefer):

4. Use Content delivery networks (CDNs) For WordPress

Imagine that you’re trying to get a letter to your neighbor. You would most likely walk out of your house and stick the letter in the other person’s mailbox, which doesn’t take much time or effort on your part at all. Now, imagine if your letter needs to go to someone in another country. You will have to undergo a much longer and arduous process like going to the post office, buying postage, and then waiting days to ensure the recipient has gotten it. That’s essentially what happens when you request someone’s website.

Content delivery networks (CDNs) act as if someone from another country is accessing your website from next door to you. There are tons of computers set up throughout the world with your website assets on them that deliver them to people closer to them than you are. This dramatically decreases page load time and allows for better optimization on your server. There are other benefits of CDNs as well that you can read about in this article. There are several great services for CDNs, including but not limited to:

So, let’s say that you’re a developer and you’ve tried all of these different options — is even more fine-tuning available? I’d like to submit a method that I’ve used on several websites.

Controlling all the output with code

Note: The following part of the article can cause problems with the front-end of your website if you’re new to development. It’s best not to do this on production servers until you feel confident about the process and theory behind this idea. Only do this if you know exactly what you want on the front-end in terms of Javascript and CSS.

Before you begin compressing and optimizing your code even further, you should know exactly which CSS files and Javascript files you want to load into the page. For now, load your own compressed Javascript file and CSS file into the header and footer and deactivate all Javascript and CSS files that WordPress outputs. You can do that in the following two hooks:

 

 

The above code snippet is typically located in your header.php file in your theme’s folder, and it outputs all your header code where you could include Javascript, CSS, and more. You can read more about it in WordPress’ Codex here. Another place that WordPress injects code is in the footer. You can see this in the footer.php file of your theme. You can read about this in the codex as well. The hook will be the following code snippet:

 

 

Next, you need to take control of all Javascript and all CSS from your theme. To do that, you have to blanket tell WordPress to not allow Javascript and CSS files to be outputted. A theme usually registers these files in their respective functions.php file, but you need to tell WordPress to not allow any of them in the header or footer to register in your functions.php file. Each theme should have that functions.php file, so find yours (or make it in the root of your theme) and add the following code to your functions.php file:

 

 

If you refresh the page you should see that, for the most part, no javascript files were loaded.

 

 

Tip: All Javascript should be loaded in the footer, while CSS is loaded in the header of the website. This allows for the browser to render the structure of the website first before it starts with the Javascript. Typically, this results in the best experience for users.

If you refresh the page now, you’re going to see a really messed up site because there are no CSS files outputted. That’s what you want. Now, you’re going to control everything by placing your files in place of all of those Javascript and CSS files.

So, let’s say you know which stylesheet that you want to load. It can be your compressed output from Gulp or Grunt located in a folder like (theme)/assets/build/CSS/main.css or something similar. It can even be the style.css file in the root of your theme folder. Either way, you want to output the main stylesheet. Here’s the code (edit it to match the location and name of your file):

 

 

So, now let’s say that you’ve compressed a Javascript file in the same way you compressed the CSS. You can now load the Javascript into the footer of your site like so:

 

 

Reload the page and now you should be able to locate each file in the source code. That ensures that the PHP code that you have in your functions.php file is working. You can now check the Network tab, and see if you’ve improved in overall load sizes and time.

Conclusion

The most important thing to remember is that it’s absolutely possible to fix your page load problems, but it takes creative problem solving and some research. Remember to take a good look at the tools that are native to your browser to help you find the problem. Then, look to the aforementioned plugins, and strategies to produce neat, well-formed websites for public consumption. You can do it! 

Let me know if my tips helped you improve load times on your website in the comments below.

How To Speed Up WordPress Websites is an original blog post first published on Go Fish Digital.

]]>
https://gofishdigital.com/blog/improving-page-load-time-wordpress/feed/ 0
PCI Compliance for WP-Ecommerce https://gofishdigital.com/blog/wp-ecommerce-pci-compliance/ https://gofishdigital.com/blog/wp-ecommerce-pci-compliance/#respond Fri, 30 Sep 2011 19:58:54 +0000 https://gofishdigital.com/wp-ecommerce-pci-compliance/ We recently designed and built an e-commerce website for a client using WordPress and the WP e-Commerce plug-in as our platform.  We customized the heck out of GetShopped’s WP E-commerce plug-in because our client had some very specific and intricate requirements for calculating shipping, and thankfully we found the plug-in pretty easy to modify.  The […]

PCI Compliance for WP-Ecommerce is an original blog post first published on Go Fish Digital.

]]>
We recently designed and built an e-commerce website for a client using WordPress and the WP e-Commerce plug-in as our platform.  We customized the heck out of GetShopped’s WP E-commerce plug-in because our client had some very specific and intricate requirements for calculating shipping, and thankfully we found the plug-in pretty easy to modify.  The AJAX functionality, coupon code customizations, and flexible payment gateways (among other things) all seemed really well built. You can see the website here:  The Optic Zone.

One of the requirements for the website was that it must be PCI compliant.  PCI is short for Payment Card Industry, and specifically the PCI Data Security Standard.  It is a set of server, website, and business requirements to ensure that the website and credit card data are secure from hackers.  The major merchant account websites that businesses use to process credit card payments require their customers have PCI compliant websites.

Related Content:

We did a lot of searching for information on PCI compliance for WP E-commerce, but there wasn’t a whole lot out there to find.  So, I thought I’d document some of the things that helped us pass the client’s SecurityMetrics automated scan.

Website Architecture

Here are a few particulars you should know about our website architecture:

  • Server: Hosting was on a VPS from a well-known VPS hosting company. It is the only website hosted on this particular virtual machine.
  • Operating System: We are running the latest version of a well known Linux OS.  For security reasons, I won’t give it here, but its a popular one.
  • WordPress: We are running the later version of WordPress – (at this time, WP 3.2.1, although we’ll continually upgrade as new versions are released)
  • WP e-Commerce Plug-in: For security reasons, I don’t want to give the WP E-commerce version we are using (but its inconsequential for gaining PCI compliance anyway)
  • WP Plugins: We run a couple of popular WP plug-ins, but not a ton.

Selective SSL

We used the WordPress plug-in HTTPS for WordPress to put SSL on specific pages.  This meant that the site was simply in ‘HTTP’ most of the time your were browsing, but as soon as you viewed your cart or hit a login page, it switched to ‘HTTPS’ and stayed that way.  We found this met our needs nicely as we didn’t really feel it was necessary to put the whole site under ‘HTTPS’. Configuring it this way was PCI compliant, and didn’t add the extra weight of being a completely ‘HTTPS’ website.

Automated PCI Compliance Scan

Our client hired SecurityMetrics to review their PCI compliance.  The client fell into ‘PCI Compliance Level 4’, which basically meant that they had to pass the automated security scan and a business assessment test to be deemed compliant.  The first time the site was run through the scan it failed – but none of the flagged issues had anything to do with the website software; all issues were server setting and versioning related.  We were able to fix most of the issues pretty quickly by hand.  Again, we didn’t have to change anything on WordPress or WP e-commerce.

There were two issues that we couldn’t resolve.  The scan didn’t like the versions of SSH and SSL that we were running, and because it wasn’t a straightforward upgrade for this OS, we filed a request to SecurityMetrics for them to manually approve our versions.  We were using an up-to-date OS, and the vulnerabilities they associated with the versions of SSH and SSL we were using had been fixed via backports in the OS.  To appeal, we simply wrote up a 3 page document with some supporting information and screenshots.  After exchanging a couple of emails with them (they were very slow to respond… about once every 7 days), they manually lowered the remaining issues and it passed!

Getting Your Site PCI Compliant

What we learned is that getting a WP e-commerce site PCI compliant is much more about your server settings than it is about the software.  I will say that you won’t get your site certified if you are using cheap or shared hosting.  You are really going to need root access (full control) over your box to adjust any settings that the scan takes issue with.  Assume that it will take you around 3-10 hours to get your site tweaked just right for the automated scan.  Good luck, and let us know if you have any experiences with WP e-commerce to share!

If you are having trouble getting your website PCI compliant, we can help.  Shoot a note to info@gofishdigital.com.

PCI Compliance for WP-Ecommerce is an original blog post first published on Go Fish Digital.

]]>
https://gofishdigital.com/blog/wp-ecommerce-pci-compliance/feed/ 0