Tag Archives | Wordpress

Apache and MySql Performance Tuning for High Traffic Website

SoccerNews.com is a high traffic WordPress site with over 600,000 unique visitors and over 2,000,000 page impressions per month. It is a content republisher and aggregator, presenting custom XML feeds for (what else?) soccer news from all over the world. The site has a very active user base, providing content in the forms of editorials and comments on news items. Advertising and sponsored referrals provide the revenue stream.

SoccerNews.com website

SoccerNews.com website

I was contacted by the publisher after responding to a plea for assistance in a WordPress.org support forum. Though the site was running on a dedicated server with 8GB RAM, it was crashing frequently under load. The developer tried implementing APC Alternative PHP Cache and W3 Total Cache, but these measures turned out to be incompatible with some of the custom PHP code and the software architecture of the server. Haphazardly implementing randomly suggested “solutions” had actually made the problems worse, resulting in an “own goal” that brought down the server.

I did an assessment of the software, hardware and traffic load and found that there were many improvements to be made. Among the changes:

  • Implemented a Stateful Packet Inspection firewall and Login Failure Daemon to block malicious IP addresses, malware servers, bad bots, content scrapers, etc. Many of the problems leading to site crashes were due to constant bad bot traffic, security probes and Denial of Service attacks. Connection Tracking in the firewall now limits the amount of resources a single legitimate IP address can monopolize, in addition to blacklisting attackers.
    • This is the first step to proper web server performance in today’s Internet climate. Popular sites that do not have a solid security and load balancing strategy are subject to crippling traffic from the Internet’s millions of malicious and compromised servers and personal computers.
  • Reconfigured Apache web server, PHP and MySQL to better utilize the server’s horsepower. Default configurations were limiting the number of concurrent user sessions the server could handle. Changed PHP to run as FastCGI (fcgid) and recompiled Apache to better handle the needs of a high traffic WordPress site. Configured a large MySQL table and query cache based on performance and load testing.
  • Configured a self-hosted Content Distribution Network, page cache, browser cache, and object cache with the WordPress plugin, W3 Total Cache. Due to the sheer number of ad scripts being served per page, there were inevitable JavaScript and PHP conflicts, but W3TC is very flexible and was able to handle the task.
  • Suggested a scheduled, offsite backup strategy that would utilize existing resources, and eliminate the need for a 3rd-party backup solution that was causing more load issues and costing $45.00 per month.
Now the site is stable and fast, and is ready for very high traffic. With World Cup Brazil coming up in 2014, the site will definitely see a huge amount of users. Future plans include moving the Content Distribution Network to an external provider, and possibly changing the architecture of the server to simplify the background processes and implement APC Alternative PHP Cache, or a caching web server front end.

Results? I’ll let the publisher speak to that!

The site has been as good as “flawless” since, with no downtime, and we couldn’t be happier. Everything is running smoothly and it’s a great relief knowing that we made the site faster, safer and more reliable. The site feels a lot more stable and faster. So you’ve done a great job. 

– Kim Vincenzius, StarScape LLC

Incoming search terms for the article:
Comments { 0 }

Remote publishing to WordPress from Facebook via RSS

Most WordPress developers know you can use one of several plugins to publish from WordPress to a Facebook wall, app or fan page. Did you know you can also do the opposite? You can publish from Facebook to WordPress by using the FeedWordPress plugin and the RSS feed from your fan page. This can be handy for clients who want to keep their site updated with blog posts, or share links and information, but don’t necessarily want to spend the time to post with WordPress.

Let’s face it, Facebook is convenient to use to share a link, upload small photos and video, or write a brief update.

Your Blog is Hungry

FeedWordPress is a plugin that pulls content from an RSS feed and publishes articles as WordPress posts. It is somewhat complex to set up properly, so I won’t go into that here. It’s up to you to figure it out, but it is very useful for adding non-copyright or permitted content to your site or a client’s site. For instance, I use it to publish bicycle manufacturer’s RSS feeds to a local bike shop’s WordPress site. You can also use it to create a scraper site, but you wouldn’t do that, would you?

Connect WordPress to Facebook

Using the plugin Simple Facebook Connect, your client can publish WordPress posts to a Facebook fan page.  I suggest you install Simple Facebook Connect and learn how to set up a simple Facebook App using the plugin’s easy instructions. This will allow your website to use Facebook authentication to Publish to Facebook, allow comments by logged in Facebook users, etc.

Creating an App instead of a Fan Page or Business page may suit your needs. Give it a try if you have not already set up a Facebook Page. If you use SFC, don’t set it to automatically publish to Facebook, or you may create a publishing loop. Leave it set to manual publishing and you’ll have an extra Publish button in the post editor for that purpose.

Setting up the Facebook RSS Feed

If your client would like to use Facebook’s simple, highly available, multi-device platform to publish content to a WordPress website, you will need a Facebook page or app’s RSS feed.

Facebook Fan Pages or Business Pages are for groups or businesses. If you build websites, you have probably set these up for several clients already. But to make the RSS feed from the page available to RSS readers and aggregators, you must change a few settings:

  • Edit Page > Manage Permissions
  • Uncheck Only Admins can See Page
  • Age Restrictions: None
  • Country Restrictions: None

Uncheck All:

  • Users can write or post content on the wall
  • Users can add photos
  • Users can add tags to photos
  • Users can add videos

This will make your wall posts available to the general public, because users with restricted privacy settings cannot post to your wall (they can still comment on your posts).

Now you can click the Subscribe by RSS link on your page, and the RSS feed will not display the dreaded “Facebook Syndication Error”:

You probably reached this page by entering the guide of a syndicated error message into the location bar of your browser. This probably means that you can’t see the feed that you were trying to access. This is probably because the owner of the feed changed his or her privacy settings or deleted content on the feed. You may be able to get access to the feed by contacting the owner of the content being syndicated in that feed.

You will get a RSS URL: http://www.facebook.com/feeds/page.php?id=195534004499&format=rss20

If your feed’s language needs to be adjusted, for instance if your site is hosted in Netherlands but your audience is in U.S., you will need to add a locale parameter to the feed URL: http://www.facebook.com/feeds/page.php?id=195534004499&format=rss20&locale-en_US

Try it in Firefox or NetNewsWire or any RSS Reader to see if you get a valid feed. If you see Facebook Syndication Error, then go back and edit your page’s permissions (see above).

If your site is hosted in a locale different from the locale of your Facebook page (e.g. your host is located in Europe, but your Facebook page is for North America), then you should use the resolved IP address for Facebook for your locale. You can find this IP address from a terminal window with the ping command. Otherwise, Facebook.com will resolve to the IP address and language for your host server. This causes synchronization issues and may cause a sync timeout which can block your pages from loading.

FeedWordPress Syndication

OK, now you have a valid feed. Add it to FeedWordPress. The settings you may wish to change:

Posts & Links >

  • Permalinks point to: The local copy on this website
  • Relative URIs: leave relative URIs unresolved
  • Formatting filters: Expose syndicated posts to formatting filters

Now, you should have a valid RSS feed and a properly configured Syndication system.Log in to Facebook and go to the app or page (easy way is to type the name into Facebook search bar at top).Share a Link, paste the URL of the page you want to feature, e.g. http://www.extremevisionhomes.com/

Edit the fields in the Link content by clicking on them. Or, you can upload a photo or video. But be sure to add a tagline to “Say something about this…” This line becomes your Title in the RSS feed or WordPress post. Otherwise you will see a generic “Your Client’s Facebook Wall 07/12/2011 15:35:43″ as the title.

And on the client’s site, you will see this:

You may want to set up a WordPress Category for these posts. FeedWordPress can be configured to post to a specific Category, add Tags, etc. You might even separate these posts from the main blog page, or style them in your WordPress theme via CSS or a Category Template.

Incoming search terms for the article:
Comments { 2 }

Industrial Galvanizer Website

Tennessee Galvanizing website

Tennessee Galvanizing had an aging Joomla site that needed major software updates. So, I migrated the site to WordPress for ease of use and ease of updates. WordPress is much more user friendly than Joomla, and also easier to maintain.

  • Simple WordPress site with front page slide show, news blog and contact form
Incoming search terms for the article:
Comments { 0 }

Office Furniture Retail Showcase

Office Coordinators Inc. website

Office Coordinators Inc. website

I worked with Office Coordinators Inc’s talented in-house designers to update the OCI website. OCI chose an e-commerce theme, and we completely reworked the CSS and layout to match their colors and logo treatment. After a previous failed attempt with another developer, they were surprised at how quickly the site came together, and how easy it is to manage with WordPress!

  • “Inquiry mode” e-commerce: customers can select items, add to shopping cart, then email for more information or price quote
  • Search Engine Optimization: Google Analytics and Sitemaps
  • WordPress Content Management
  • Social Networking with Facebook “score card”

Thank you for your persistence. You’re our favorite website/technically savvy guy ever.
— Emily Vaughn, OCI

Incoming search terms for the article:
Comments { 0 }

Bike Shop Website with Facebook Features

Suck Creek Cycle website

I’ve been hosting and helping with Suck Creek Cycle’s website since they opened in 1998. The site was long overdue for an upgrade, so I took an existing template design and tweaked it a bit to look like the bike shop, then integrated social media and syndicated content from their vendors.

  • Facebook local business page integration — publish from WordPress directly to Facebook
  • Facebook Friends and Wall displayed on the website
  • RSS Syndication for news from cycling sites and bike vendors
Incoming search terms for the article:
Comments { 0 }

Farmers Market Website

Main St Farmers Market website

This is a major redesign of the website for Chattanooga’s Main St Farmers Market. Local designers Widgets & Stone came up with the logos and suggested the look and feel, and I worked with Padgett Arnold to get the visuals and content just right. One interesting fact about the site: the web server is located on Main St as well! Keepin’ it LOCAL!

  • Interactive home page presents tons of information in a compact javascript slider
  • Fresh content includes recipes and a list of what’s available each week
  • Facebook fan page gets automatically updated with new content
  • New photos and videos are easily uploaded via SlideShowPro and YouTuber for a fun, engaging user experience
  • Lightweight CSS3 design and an alternative layout for mobile browsers present the site quickly and efficiently
Incoming search terms for the article:
Comments { 0 }

Landscape Architect Website with Slideshows & Social Media Integration

Craig Design Group Website

Craig Design Group Website

This is a simple website for a Chattanooga based landscape architect that focuses on beautiful portfolio slideshows. We’ve also added Twitter and Facebook integration to keep fans and customers updated on the latest projects.

Incoming search terms for the article:
Comments { 0 }

Organic Farm Website with Slideshows and Content Management

Sequatchie Cove Farm website

Sequatchie Cove Farm website

This site was produced in tandem with Widgets & Stone, a Chattanooga design firm. We’re members of Sequatchie Cove Farm’s Community Shared Agriculture program, so we are very familiar with the quality of the eggs, dairy, meat and produce coming out of the clean and fertile Sequatchie Valley. Continue Reading →

Incoming search terms for the article:
Comments { 3 }

Image Manipulation in WordPress Editor – Crop, Rotate, Resize Images

WordPress has a very nice and simple editor that uses TinyMCE. As of WP 2.8, there is a load of new functionality in the image uploading and management department, with the new Gallery functionality. I like the way WordPress handles all of the image files attached to a post… it lends itself to slideshows, etc. But recently I had a question about rotating images within the editor, and I went searching for a plugin to do it… and found Scissors. This plugin adds cropping, resizing, and rotating functionality to WordPress’ image upload and management dialogs.

I just loaded and activated Scissors, so I’m going to try it out to see how it works…

this image is rotated

this image is rotated

this image is resized

this image is resized

this image is cropped

this image is cropped

Well, it looks like it works just fine! Another plugin that’s just become a necessity for client sites!

Incoming search terms for the article:
Comments { 1 }

Non-profit website with Calendar and Slideshows

Sequatchie Valley Institute website

Sequatchie Valley Institute website

I visited Sequatchie Valley Institute years ago with my children, and made a long-term goal to some day live and work with the folks I met there. We use the web extensively to communicate with our members, the public, and the media.

  • SlideShowPro Director provides an engaging and easily-updated frontpage show, and a gallery of current and past events
  • Event Calendar manages our online calendar
  • Registration forms and contact forms for events and communication, routed to the proper folks
  • MailMan takes care of our e-mail blasts
  • Vanilla forum helps the board of directors sort out our business
Incoming search terms for the article:
Comments { 1 }