Tag: caching

WordPress Grand Rapids Building Web Apps

Building Web Apps with WordPress: Jan 2015 meetup

We talked about Building Web Apps with WordPress at our Jan 15, 2015 meetup. Below are the notes.

WordPress Grand Rapids Building Web Apps

WordPress as a Web App

Presented by Brian Richards

  1. Components
    1. Custom post types
    2. Custom taxonomies
    3. Custom meta: post meta, user meta, comment meta
    4. User roles & restrictions
    5. Post relationships (via Posts 2 Posts)
  2. Methods
    1. WP_Query
    2. pre_get_posts: can be more specific than above
    3. $wpdb: can be even more specific than above
    4. AJAX: save users time and reduce server load
  3. Tools
    1. zapier.com: like IFTTT, but with more options
    2. AppPresser.com: Convert your WordPress website into a mobile app, publish on the app stores
    3. WP-API (coming soon): Access your WordPress site’s data through an easy-to-use HTTP REST API

Misc.

  • Ask: who is your core audience? What are they trying to do with the data? Answers help with information architecture.
  • BadgeOS: free plugin that lets you easily create achievements and issue sharable badges as your users succeed
  • Why start with WordPress? You can build very quickly because of the tools available in WordPress.
  • Caching: use transients, Varnish, memcached

Using WordPress to Power an Application: How we built a rewards platform in just a few weeks

Presented by Bob Orchard

  1. Choose Your Features
  2. Plan Your Development
  3. Install WordPress
  4. Create Your Plugin

Announcements

We’ve started planning WordCamp Grand Rapids 2015! We’ll have our first volunteer meeting after the next meetup (Feb 19). You’re welcome to join us!

WordPress Backups WordPress Grand Rapids

WordPress Backups, Oct. 2014 meetup

We talked about backing up WordPress sites at our Oct 16, 2014 meetup. We covered a few backup plugins and management services. Below are the notes.

WordPress Backups WordPress Grand Rapids
Chad Warner speaking to WordPress Grand Rapids
WordPress Backups WordPress Grand Rapids
Peter DeHaan speaking to WordPress Grand Rapids

BackupBuddy & Amazon S3, etc.

Presented by Chad Warner

BackupBuddy

BackupBuddy is a premium plugin. Instructions: How to use BackupBuddy with Amazon S3.

BackWPup

BackWPup is a free backup plugin. These instructions are several months old, and may not be 100% accurate.

  1. Create Amazon IAM user and add to BackupBuddy group.
  2. Create S3 bucket named ow-sitename
  3. Settings
    1. General
      1. uncheck Show BackWPup links in admin bar.
    2. Jobs
      1. clear Key to start jobs externally with an URL
  4. Add New Job
    1. General
      1. Job Name: Database, files, uploads (local & offsite)
      2. Tasks: all except WordPress XML export
      3. Destinations: Folder, S3 Service
      4. Email address
    2. Schedule
      1. with WordPress cron
      2. basic, weekly, Monday (or daily or monthly)
    3. DB Backup: exclude unnecessary
    4. Files
      1. exclude unnecessary root, plugins, themes, cache
    5. To: Folder
      1. File Deletion: 6
    6. To: S3 Service
      1. Access Key and Secret Key: generate for user in Amazon IAM
      2. Bucket: select bucket for this site
      3. File Deletion: 6

Duplicator

Duplicator is a free plugin. Instructions (may be outdated): Copy and migrate WordPress sites with the Duplicator plugin

Backup Services

Online Backup for WordPress

Presented by Peter DeHaan

Online Backup for WordPress is a free plugin

  • many destinations
  • incremental backup

WordPress Management Tools & Hosting

Presented by Bob Orchard

WP Remote

  • TinyPint uses for backups
    • manual, not automatic; run backup, save to machine
    • downloads zip of files and database
    • can download entire site (files and database) or just database
    • can exclude files
  • setup
    • add site to WP Remote
    • install plugin
    • activate plugin
    • enter API key
    • in WP Remote, refresh

ManageWP

  • can run security check of site
  • many more options than WP Remote
  • performance test
  • can show WP admin screen within iframe
  • can back up database only or files and database
  • can exclude files or folders
  • can backup to multiple destinations, including Amazon S3, Dropbox, Google Drive, FTP
  • can clone and restore sites

Amazon S3

3Hub for accessing Amazon S3

Flywheel

  • made for agencies who create and manage WordPress sites
  • free demo sites for 14 days
  • automatic backups
  • fast; caching automatically configured

Media Temple Premium WordPress Hosting

  • backups
  • staging
  • cloning
  • easy migration
  • GoDaddy’s hosting with MediaTemple interface
WordPress Grand Rapids WordPress Perfomance Optimization

WordPress Performance Optimization: May 2014 meetup

We talked about WordPress Performance Optimization at our May 15, 2014 meetup: testing, hosting, caching, CDNs, image optimization, queries, transients, and more. Get ready! WordCamp Grand Rapids 2014 is August 15-16! Remember, you can also find us on Meetup, Twitter (@wpgrandrapids and #wpgr), and Google Groups. If I missed anything in the notes below, please leave a comment, and I’ll add to the post.

WordPress Grand Rapids WordPress Perfomance Optimization WordPress Grand Rapids WordPress Perfomance Optimization

Testing, hosting, caching, CDNs, image optimization

Chad Warner

Performance testing

Performance guide

Managed WP hosting

Note: this section contains hosting affiliate links.

  • The host is often the main determinant of performance
  • Use a host that’s optimized for WordPress
    • Speed
    • Security
    • Updates
    • Tools
  • SiteGround: fast, secure WordPress hosting
    • SiteGround is an excellent WordPress-optimized shared host. They’re fast, secure, and reliable, yet inexpensive. They’re the host I most frequently recommend to small business and nonprofit clients.  From firsthand experience, I’ve found their plans to be superior to similar hosting plans from GoDaddy, Bluehost, DreamHost, Hostmonster, HostGator, iPage, and small local hosting companies.
    • WordPress Hosting
  • For clients with larger and/or higher-traffic sites, or who need additional benefits, we recommend WP Engine, but for most smaller sites, SiteGround provides great features for relatively low cost.

Caching

  • Use managed WordPress hosting; they often handle caching. Even if you’re not using managed WordPress hosting, use the host’s caching as much as possible.
  • WP Super Cache: simpler, less problematic than W3 Total Cache
  • W3 Total Cache: more powerful but more problematic than WP Super Cache

CloudFlare’s CDN

Image optimization

Caching, queries, transients

Brian Richards

W3 Total Cache

  • Turn on all caches
  • Enable Page Cache
    • For e-commerce, don’t cache cart, checkout, my account pages

Custom queries

  • Queries are controlled by query.php in core
  • Queries use WP_Query class
  • Look at query.php and see all the filters available. You may not want to write a custom query; you may be able to modify the main query with pre_get_posts(). It’s more efficient to modify the main query that WordPress is already running than to add a new query. Be very specific about when you’re going to modify the main query; use conditionals.

Transients

Misc.

WordPress development tools

Improving WordPress Performance, June 2013

Our June 2013 meetup was Improving WordPress Performance. Topher DeRosia, Brian Richards, and Chad Warner talked about various ways to make WordPress sites load faster. Below are the video and notes from the meetup.

Also, Brian encouraged the group to get involved in WordCamp Grand Rapids 2013 by volunteering, speaking, and/or sponsoring.

Transients

  • Transients temporarily store cached data in the database
    • You can configure them to be stored in cache rather than the database, which is even faster
  • Transients are site-wide, so make sure they should apply to all users
  • You set expiration
  • Transient API
  • Mark Jaquith’s WP-TLC-Transients extends WordPress’ transients
  • Remember where you save transients so you don’t waste time troubleshooting
  • Topher wrote Storing complex queries in transients

Performance testing tools

CloudFlare

CloudFlare CDN features

  • No configuration necessary
  • Works with static and dynamic content
  • Always Online™

Web content optimization features

  • Rocket Loader
  • Reduced connections
  • AutoMinify
  • Local storage caching
  • Cache header optimization
  • Asynchronous resource loading
  • JavaScript bundling
  • Aggressive GZIP

W3 Total Cache configuration

  • Follow Installation instructions and accept defaults, then configure the following:
  • WordPress menu > Performance > General Settings > Page cache: Enable
  • Performance > General Settings > CloudFlare
  • Minification: CSS, JavaScript, and HTML
  • Performance > Browser Cache > General > enable/check Set expires header

Ways to improve WordPress performance (in order of increasing complexity)

  1. Caching plugin
  2. nginx, which is faster than Apache for serving static content
  3. Memcache and memcached
  4. APC (Advanced PHP Cache)
    1. Caches code, not content
    2. Turns interpreted code into binary and stores it

WP Super Cache

  • WP Super Cache doesn’t have as many options as W3 Total Cache
  • Topher doesn’t like W3 Total Cache because it’s “arrogant” and “rude”; it doesn’t respect other caching plugins.
  • Stores cached files in /wp-content/cache/supercache
  • Simply install and activate to start caching, but configure for better performance

Configuration: Tools > WP Super Cache

  • Advanced tab
    • Select mod_rewrite
    • Enable Don’t cache pages for known users
    • Enable Don’t cache pages with GET parameters
    • Enable Cache rebuild
    • Expiry Time & Garbage Collection
      • Settings depend on your site and preferences
    • Exceptions: configure items that should not be cached
    • Directly Cached Files: specify non-WordPress sites to cache
  • CDN tab: configure for your CDN, if necessary
  • Contents tab: lets you empty the cache
  • Preload tab: crawls site to build the cache
  • Plugins tab: configure plugins that integrate with WP Super Cache
  • Debug tab: used for debugging