Re: WordPress Move to JavaScript

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: Keith Smith via PLUG-discuss
Date:  
To: James Dugger
CC: techlists, Main PLUG discussion list
Subject: Re: WordPress Move to JavaScript
James,

I am a PHP dev and find most php apps to be one size fits all.


On 2025-01-18 02:15, James Dugger wrote:
> I know this is old but thought I would add some perspective.
> WordPress' plugin ecosystem is too big.


I agree... once size fits all.

> Its primary audience is what I
> call site builders - individuals with some coding experience mainly in
> html, and CSS and maybe a bit of javascript's jquery library. Although
> that latter is probably pushing it. I went to WordCamp 8 years ago in
> Phoenix as a GoDaddy rep. Most of the people and even the talks were
> geared towards non-coding professionals. Most people there wouldn't
> have been able to explain what an object was in any language and
> couldn't blueprint a class declaration or any of its mechanics.


Interesting assessment!!

>
> Where do they go - If they don't want to pay for real development they
> head to Squarespace or Weebly or other no-code solutions.
>
> Most of the use cases for WordPress I am familiar with are for small
> businesses. Most hosting companies have auto site builders that
> construct the website in 30 seconds. But then people quickly get
> bogged down in even finding, picking, installing and implementing the
> plugins correctly after the initial build. Often they are left with
> hacked, or bloated sites that leave them exposed and filled with
> malware.


I can see this happening.


> I helped an agency clean up a WordPress website for a
> plastic surgeon where the MySQL database had been injected with
> Russian phishing data. The site was 5 years old and I found over 150k
> nefarious entries that had to be cleaned up and removed.


Great example!!

>
> Later I worked for a tech firm that consults for large corporate
> clients that use WordPress for limited sites, like a digital magazine
> for high end real estate holdings, almost like a brochure version of
> Architectural Digest. In these cases WP works because we would limit
> the number of plugins and user interaction with the site. We could
> have easily built these sites without WP and often did, but if they
> were going to maintain the site the contracts would dictate that we
> had to build it in WP.
>
> I think that the current metrics are around 43% of the web uses
> WordPress.


I've read 30% however 43% seems like a reasonable number.

> I would estimate that easily 70% of the database and the
> codebase in WP is for managing the application and has little to do
> with the actual visual website that the general public see and
> interact with...


Interesting assessment.

> ... - excluding ecommerce and subscription-based web apps
> that need user account transactions. A typical WP site is over 1
> million lines of code.
>


Wow --> that is the one size fits all!!


> But when the same companies hired us to build enterprise-based
> solutions and wanted a PHP-based web application the choices were
> usually Drupal



Yikes. On it's face Drupal is very cool. I really liked it until about
8 or 9 years ago. During that time I has a subscription with
https://buildamodule.com/. The learning curve is astronomical.


> for sites that needed a CMS and Laravel for sites that didn't.



I find Laravel to have too much of a learning curve and comes with too
many dependencies just to get started.



> Even if they wanted a SPA (single page application) like
> React, Angular, or Vue, we recommended the backend be built in Laravel
> and not Express (Node). Drupal is based on the Symfony PHP framework
> and Laravel hooks into it. Symfony is by far the most well supported
> open source PHP solution.


Another learning curve.


> The irony is that there are enough good
> libraries both on the JavaScript and PHP that are better written, more
> secure, and just as easy to implement than going to a WP-based
> approach. Plus I have to wonder what is going on with Automatic and
> WP Engine and what is the future of WordPress.
>
> For sites that need to be sped up and are limited to remain on older
> server instances. My advice is to simplify the code base as much as
> possible. So roll your own framework or use a lightweight MVC
> framework. Turn on opcode (APC) and object caching (Redis) and if you
> are using Apache as your Webserver play with the MaxClient settings to
> dial in the amount of preforking that Apache does. Setting the
> number too high in MySQL will cause thrashing when the database
> constantly has to write data out to the disk to clear up memory to add
> threads. Or switch to Nginx as the webserver.



Man power to do all these things is expensive. Hardware is cheep.
Without knowing anything about the case, I say throw hardware at it and
save developer costs.


>
> Package These up in a Docker container or containers (web server,
> database server) running a lightweight Linux instance and you have a
> portable web application that can be installed anywhere and spun up in
> seconds.
>


Docker is another learning curve. I worked with some guys who were
doing Magento development. They were having server compatibility issues
so they went to Docker to standardize things. My recommendation is to
ditching Magento and it's one size fits all. My customer was bleeding
cash and finally moved away from Magento.

I was a programmer before the Internet. I was a xBase dev. Loved it.

Fast forward. I do not like WordPress much. They keep adding features
and the ecosystem is huge.

I went through the Plugin Handbook
https://developer.wordpress.org/plugins/

and the Theme Handbook : https://developer.wordpress.org/themes/

My main website is on WordPress and I ham having unexplained redirect
errors with Google. I created a semi M-V-C and CMS website 3 or 4 years
ago.

I've decided, given the current state of things, that I am going to
build my own M-V-C PHP/MySQL framework and host my websites on this
homegrown framework.

Keep It Simple Stupid KISS.

M-V-C is easy to expand and if create correctly will only run a subset
of the application's code. AND a lot of the code is reusable.

Keith




> On Fri, Nov 15, 2024 at 12:17 PM Keith Smith via PLUG-discuss
> <> wrote:
>
>> Thank You David,
>>
>> I agree WordPress is bloated and it is one-size-fits-all. I saw a
>> video
>> recently that WordPress has 40% market share.
>>
>> I am hoping to build my own infrastructure within a year and a half.
>>
>> I think potentially the back end JS issue is my problem. That is
>> why I
>> mentioned my daily driver is a 10 year old Dell with an i5 and 16G
>> of
>> RAM. It is running an SSD that helps. Seems 32G is the minimum
>> now....Yikes
>>
>> Another issue is Google has removed 12 of my articles because of
>> redirects. I've looked at it several times and cannot figure it
>> out. I
>> did not add the redirects. I wonder if it is WordPress that is
>> doing
>> something.
>>
>> Other than a more powerful CPU and more RAM what is the solution?
>> Is
>> there a point when people start to exit WordPress, and where do they
>> go?
>>
>> On 2024-11-13 12:47, David Schwartz via PLUG-discuss wrote:
>>> Javascript runs in the browser. Most issues I hear about and
>> encounter
>>> myself end up being browser-related.
>>>
>>> You mentined all of the things that aren’t connected to JS, and
>> did not
>>> mention the one(s) that are. JS is the primary source of problems
>>> today. And hackers that break into the back-end.
>>>
>>> I operate almost exclusively on Macs and my Android phone, and
>> I’ve got
>>> between three and six browsers on each one. None of them work the
>> same
>>> — which is to say, when I run into a problem on one, I can
>> usually
>>> solve it by switching to another browser. Every week it’s
>> something
>>> different.
>>>
>>> The source of the problem is not worth my time to figure it out,
>> and
>>> it’s really easy to switch to another browser.
>>>
>>> Don’t blame php or the back-end for quirks that are endemic to
>> JS
>>> running in one specific browser. Even updates of the same browser
>> can
>>> behave differently. And the behavior on the same browser can
>> change
>>> from one day to the next, or one hour to the next. Nobody is
>> changing
>>> the back-end that frequently, I can assure you. It’s the
>> libraries the
>>> pages are loading up, or the code the site’s developers changed
>> last
>>> night.
>>>
>>> I’ve been writing code in Delphi using TMS WEB Core, which is
>> available
>>> both as a Delphi addon and a standalone package that runs in
>> Visual
>>> Studio Code. It takes Delphi code (Object Pascal) and translates
>> it
>>> into JS and packages it up so it runs in the browser. NONE of it
>> is
>>> running in the back-end! It’s 100% browser based. And 100% of
>> the weird
>>> issues I have are all browser related. Sure, there are bugs in the
>>
>>> platform, but they are typically reproduced the same in every
>> browser.
>>> Browser issues show up differently in one browser, maybe two, but
>> not
>>> in all of them.
>>>
>>> A lot of browsers are using the Chromium engine, so quirks in it
>> can be
>>> reflected elsewhere, but they usually need to be running the same
>>> version of the engine for them to show up.
>>>
>>> It used to be that you had to test software on different machines
>> from
>>> different vendors, different versions of Windows or MacOS, and it
>> cost
>>> you a lot of money to have all of those combinations of software
>> and
>>> hardware available for testing.
>>>
>>> Today you just need to test on one hardware platform with
>> variations of
>>> browsers loaded on it, probably running in separate VMs or docker
>>> images to ensure you test with different versions of Chromium and
>>> whatnot.
>>>
>>> Same old sh*t, different approach.
>>>
>>> As far as WP goes, I think it’s internal architecture has become
>>
>>> obsolete. Layers and layers of crap have been added to convert
>>> asynchronous events into something that serializes them, and the
>> people
>>> writing plugins and themes are mostly inexperienced coders who
>> don’t
>>> have a clue what’s what. Meanwhile there are people who have
>> nothing
>>> else to do with their life but find ways to sneak into cracks and
>>> crevices in the back-end, and sometimes wide-open doors, left by
>> said
>>> inexperienced coders who didn’t do a good job testing their
>> code. “It
>>> works! Ship it!”
>>>
>>> The UX/UI logic is all being pushed out to the browser, and the
>>> business logic is being hidden behind REST APIs. I can build
>> something
>>> in TMS WEB Core way faster than it takes to build in WP — it
>> runs
>>> faster, is more solid, and is far easier to maintain. That can
>> probably
>>> be said of most JS-based UX/UI dev tools today.
>>>
>>> The problem with Wordpress is … it’s Wordpress. The UX/UI is
>> tightly
>>> coupled to the back-end because all of the user’s state is
>> managed in
>>> the back-end. And it’s not an API, but just a huge mess of
>> functions
>>> that are designed to be hijacked by programmers to get it to do
>> pretty
>>> much anything out of the ordinary — if you can’t get it to
>> support
>>> something in the UI, you need to build a plugin or theme to add
>> it. And
>>> that code lives on the BACK-END and is susceptible to all of the
>> myriad
>>> ways there are for hackers to throw sand in the gears. The whole
>> damn
>>> platform is open to anybody who wants to poke and prod it’s
>> guts! They
>>> even added an API but nobody uses it.
>>>
>>> If I need something to work a certain way using WEB Core, I can
>> easily
>>> program it. I hide necessary business logic behind an
>> authenticated
>>> REST API and the JS in the browser manages it all. The events are
>> all
>>> asynchronous and I don’t have to worry about someone hacking
>> into the
>>> back-end code and hijacking everything. I can build the services
>> in any
>>> language and host it on any platform I want.
>>>
>>> In WP, you have to build a plugin and plan to maintain it as
>> further WP
>>> updates will very likely break it in some unexpected way. Or if
>> not the
>>> WP code than maybe one of the UI libs you’re working with change
>> and
>>> someone updated a theme that loads a different version and screws
>> up
>>> your code.
>>>
>>> IMHO, WP is just a big fat ugly mess that only gets worse over
>> time.
>>>
>>> Just switch to a no-code / low-code solution that lets you
>> custom-build
>>> what you need, and that isn’t dependent on dozens of things that
>> can
>>> change from week to week and month to month as the underlying
>> platform
>>> is patched to fix newly-discovered exploits and the UI libs get
>> updated
>>> by updates in the plugins and themes.
>>>
>>> -David Schwartz
>>>
>>>
>>>
>>>
>>>> On Nov 13, 2024, at 9:12 AM, Keith Smith via PLUG-discuss
>>>> <> wrote:
>>>>
>>>> Hi,
>>>>
>>>> This is kind of off topic, however WordPress is Open Source and I
>>
>>>> would expect that the vast majority of WordPress is run on LAMP
>>>> servers.
>>>>
>>>> My daily driver is a 10 year old Dell that has an i5 with 16G of
>> RAM
>>>> that runs Kubuntu 24.04lts.
>>>>
>>>> I am running a blog using WordPress that is hosted on an Ubuntu
>>>> server.
>>>>
>>>> I am having issues with the WordPress Gutenberg back end. I
>> cannot
>>>> get it to do the things I want to do like bold text. At times is
>> is
>>>> sluggish. I've read that WordPress has a 10 year plan to move to
>>
>>>> JavaScript. There is not a lot of info available so it is
>> unclear if
>>>> the PHP code will be replaced as well. If WordPress replaces the
>> PHP
>>>> back end I will leave WordPress. As it is WordPress is hanging
>> by a
>>>> thread.
>>>>
>>>> These problems are new. I am also having formatting issues which
>> might
>>>> be due to my theme.
>>>>
>>>> Is anyone having these issues or maybe other issues with
>> WordPress?
>>>>
>>>> Ultimately I may create my own infrastructure or start building
>> my own
>>>> theme.
>>>>
>>>> Any feedback is very welcome.
>>>>
>>>> Keith
>>>> ---------------------------------------------------
>>>> PLUG-discuss mailing list:
>>>> To subscribe, unsubscribe, or to change your mail settings:
>>>> https://lists.phxlinux.org/mailman/listinfo/plug-discuss
>>>
>>> ---------------------------------------------------
>>> PLUG-discuss mailing list:
>>> To subscribe, unsubscribe, or to change your mail settings:
>>> https://lists.phxlinux.org/mailman/listinfo/plug-discuss
>> ---------------------------------------------------
>> PLUG-discuss mailing list:
>> To subscribe, unsubscribe, or to change your mail settings:
>> https://lists.phxlinux.org/mailman/listinfo/plug-discuss
>
> --
>
> James
>
> Linkedin [1]
>
>
> Links:
> ------
> [1] http://www.linkedin.com/pub/james-h-dugger/15/64b/74a/

---------------------------------------------------
PLUG-discuss mailing list:
To subscribe, unsubscribe, or to change your mail settings:
https://lists.phxlinux.org/mailman/listinfo/plug-discuss