Category: Wordpress

  • Creating a WordPress Plugin in an Hour Using AI

    Creating a WordPress Plugin in an Hour Using AI

    Like many of you, I’ve been spending a lot of time lately evaluating AI. My first projects were simple ChatGPT Software Evaluations and then, an implementation plan, Power Point to explain the benefits to the team, and an executive summary for management. Today, I decided to use the free version of Bolt to create a semi-simple WordPress Plugin.

    Bolt describes themselves:

    Bolt is an in-browser AI web development agent for full stack web application development. It provides a chat-based environment where you prompt an agent to make code changes. These changes are implemented in realtime in the development environment.

    The plugin I created was designed to give me a combined overview page with the latest scan results of all of my sites, in one spot on the CahillDigital.com website.

    My initial instructions to Bolt were as follows:

    I want to create a wordpress app that will contact multiple websites wordfence api endpoints and return scan status. will be installed on https:/allthingscahill.com to monitor https://cahilldigital.com
    https://carnivalglass.com
    https://barredowlretreat.com
    https://robertjwolfmd.com
    https://pawfectpuppytraining.com

    In around a minute or two, I had a basic working version of the monitor. Then I asked it to add a flag showing whether the site was using live or demo data, then asked it to create a WordPress plugin. 5 minutes or so later I had a plugin, complete with full instructions, meeting the WordPress coding guidelines.

    It took me longer to install the plugin on my site. Really…

    In retrospect, this was almost too easy. My concerns, as always are with potentially exposing sensitive data (that’s not happening here, as I use this within my WordPress Admin Console), and the accessibility of the code (for debug). On that point, I was happy to find it looked just like any other WordPress plugin. In fact, it’s read to deploy on WordPress.org for other developers to use.

    I’m still wary of AI, but I’m optimistic. I saved at least a day or two, and the truth is, I never write instructions that are *that* good. The overall output was great.

    Give it a shot, see how you do!

  • Is your host up to speed?

    Is your host up to speed?

    Over the past couple months I’ve had a customer with on going issues.  The biggest single issue was the site was slow to respond in the afternoon. The site is built on WordPress, and this was a nationally known WordPress hosting company.

    Whenever we asked them about the issue, we got the standard response that it was due to “your code”.  However, they could not point to a simple example.  We’re talking about the site taking 10-15 seconds to respond during peak business hours.  My customer wasn’t sure who to believe.

    The symptom was clear: the shared server was likely overloaded.  I looked at the error logs in cPanel and I could see they were hosting a whole lot of domains on the server, and that there were a lot of scripted attacks going on across the spectrum of sites that were hosted there.  The same external script hitting site after site after site…

    Honestly I did everything in my power to make the site function fast.   I cached the heck out of it, minified the css and script files, etc. using W3 Total Cache.

    The hosting company continued to argue the problem was code alone.  However there was one telling fact: they refused to tell us what the Server Load Average was.  Dead give away right there.  They either weren’t even looking at the server, or they knew they had a problem.

    Their entire hosting service got the blues two weeks ago when “something” happened and they were down for the better part of a day.  A major hosting company down for a the better part of a day!  So my customer decided it was time to move.

    The new server, another shared box, at 1and1.com (I am not recommending them, but I do use them for many things) immediately proved my case; site response improved to  1.5 seconds per page load.  Not bad, and in that case, I had not even turned on caching!

    The short version is this: hosting companies are a dime a dozen.  If you think you’ve got a slow server and the hosting company isn’t doing anything, move.  It may be the only way to prove you’re not the problem.

  • Defending Against a WordPress Brute Force Attack

    Defending Against a WordPress Brute Force Attack

    Security experts are warning about a large botnet attacking WordPress sites using brute force attempts to break passwords. It is important to note that WordPress is not insecure.  It is, however, a big target with a massive number of sites installed, many of which were installed by morons who use things like “God123” as their password.  Do yourself a favor, protect your WordPress site from brute force attacks – hire a professional to install it or at least to run a security audit on it. If your site is hacked, email me and I can help you get it back. Here is a list of things you can do right now to keep your site safe.

    • Install the plugin to Limit Attempts to Access Admin – this may not stop it cold as some reports have the current attack using over 90k ip addresses.  Still, this is worth while. http://wordpress.org/extend/plugins/limit-login-attempts/
    • Change your password (and ALL passwords for your site ) to something that uses at least 8 characters, including numbers, symbols and uppercase.
    • Do not use “Admin” as your user name.  If you do, set up a new administrator account and delete the admin user.
    • You can install a second layer of security by installing an htaccess password.  Instructions here.

    If you can’t do this, then please contact me and I can do it for you.

  • WordPress 3.6  Coming – But I Really Want Workflow

    WordPress 3.6 Coming – But I Really Want Workflow

    wordpress-logo_318-40291.pngWe’ve got another fairly interesting release from WordPress on the way – 3.6.  From Mark Jaquith’s post on features:

    • Post Formats:  Post Formats now have their own UI, and theme authors have access to templating functions to access the structured data.
    • Twenty Thirteen: We’re shipping this year’s default theme in our first release of the year. Twenty Thirteen is an opinionated, color-rich, blog-centric theme that makes full use of the new Post Formats support.
    • Audio/Video: You can embed audio and video files into your posts without relying on a plugin or a third party media hosting service.
    • Autosave:  Posts are now autosaved locally. If your browser crashes, your computer dies, or the server goes offline as you’re saving, you won’t lose the your post.
    • Post Locking:  See when someone is currently editing a post, and kick them out of it if they fall asleep at the keyboard.
    • Nav Menus:  Nav menus have been simplified with an accordion-based UI, and a separate tab for bulk-assigning menus to locations.
    • Revisions: The all-new revisions UI features avatars, a slider that “scrubs” through history, and two-slider range comparisons.

    All good features.  However I would suggest that it’s time for WordPress to address the one major feature of a CMS that they have woefully ignored: Workflow.

    At it’s basic level, Workflow is the movement of information or tasks through a work process. In our case, it’s content as it moves through the WordPress system. This might be as simple as the blogger opening the editor, writing his content, adding a couple pictures, and then clicking publish; essentially three workflow steps.  In a larger media organization, that general process becomes much more involved as more people perform separate and distinct tasks.  The workflow might look more like:

    • Editor assigns story and deadline
    • Writer researches story
    • Writer writes story
    • Writer archives story research items (not for publication but as resources that may be used later)
    • Copy editor edits story
    • Photographer takes photos,
    • Photo editor edits photos
    • Editor (or someone) adds photos to story

    So our simple task now involves 5 people at least, as well as spanning 8 distinct workflow steps.  Now realize there may be several cases of back and forth, for example., the editor sends the story back to the writer for rewrite, or the photo editor realizes they need another photo, etc.  Similarly, these same people are each involved in multiple workflows at the same time.

    How do we keep it all straight?

    Basically, we’d need a way to provide a “To Do” list for each of the members of our team.  The items on that list all might have separate deadlines, which would then allow our editor to see the progress of the story, as well as adequately budget time for the various resources.  Obviously your photographer isn’t going to be at two ends of the county at once…thus the editor is able to “budget” his resources.  Now extrapolate that to including not just your human resources, but perhaps your equipment.  Perhaps you’ve got two events your covering and you want to film both with your Red Camera.  Problem is that you’ve only got the one, and the events are both at the same time.

    For your human resources, they are able to get notifications when something is ready for them.  In the newspaper world, a copy editor would see the article appear in his “queue” (his task list) and then he’d proceed to edit it.  This article might be assigned specifically to him, or perhaps it might be generically assigned to someone with the role “copy editor”.

    Perhaps this system also enables us to get notifications on things.  Such as impending (or worse yet, passed) deadlines.  Or new work that needs to be done.  And maybe that notification is can be made at several levels of urgency.  Level one just sends an email, whereas level 4 alerts you via sms, email, tweet, and probably also warns the editor to something such as a missed deadline.

    …And then, magic happens.

    So let’s think about those steps in our workflow again.  We’re assuming that all of these steps are human steps.  They probably aren’t.  You might have videos uploaded to the system, and perhaps once they have been edited, you have an automated step that sends then through a program (which isn’t part of WordPress) to convert them to various formats.  Or maybe you have a program that extracts keywords from a post and creates a summary post that gets automatically tweeted out.  Simple stuff…but important.

    So that is sort of what I’d like to see.  In it’s core, WordPress works well as a CMS, but the management of people and work is sorely missing. Yes, it is possible to cobble much of this together, but in my mind, there is no reason not to provide it in the system itself.  Many of us would be working much more efficiently and the system would certainly get much more acceptance as a real CMS for Media and Enterprise.

    (If you’re interested in how you can setup a system with this level of functionality let me know – I’ve already got some of this working right now)