|

WordCamp GR 2017 – WP-API: The Good, the Bad, and the Ugly – J Andrew Scott

J Andrew Scott – http://rubberchickenfarm.com/

History of APIs

  • RSS
    • Advantages
      • Fast & reliable
      • Easy to consume
      • Almost no technical footprint
    • Disadvantages
      • Read-only
      • Static content
      • No authentication
      • No user-driven content (i.e. comments, favorites, etc)
  • DIY API
    • Advantages
      • Dynamic content
      • User-driven content
      • App & user authentication
      • Roles & permissions based
      • Connected applications
    • Disadvantages
      • DIY OAuth
      • Redundant URI scheme
      • Mediocre performance
      • Large technical footprint
  • WP-API
    • Advantages
      • Succinct URI scheme
      • Improved performance
      • Small technical footprint
      • Available in WordPress core
    • Disadvantages
      • Granular transactions
      • No batch uploads
      • Increased number of API calls
      • What once required 2 web servers now required 12-15 servers

WP-API Disadvantage Factors & Solutions

  • Number of content types
    • Solution: consolidate endpoints
  • Volume of individual API calls
    • Solution: batch processing endpoints
  • Frequency of individual API calls
    • Solution: page-level caching

Lessons Learned

  • Use standard authentication methods
  • Use page-level caching on GET requests
    • Varnish
    • WordPress object caching
  • Use custom endpoints
    • for upload of large batches of content
    • for consolidating repetitive API calls

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

To respond on your own website, enter the URL of your response which should contain a link to this post's permalink URL. Your response will then appear (possibly after moderation) on this page. Want to update or remove your response? Update or delete your post and re-enter your post's URL again. (Find out more about Webmentions.)