Free Wordpress.org installation on local Windows PC is tricky but doable; Exploring using it for creating websites
Last updated on 14 May 2024
Summary
After some stumbling on WAMP installation on my local Windows PC and some exploration of individual authors' instructions for installation of XAMPP (instead of WAMP) and WordPress.org on local Windows PC, I was successful in installing and running WordPress locally without spending any money (free). I could also install a plugin (Elementor) in it for free which is not allowed in WordPress.com free plan. As of now, I do not know how useful the free plugins, themes and templates in WordPress.org are, and whether one needs paid plugins, themes and templates to build decent quality websites and small to medium complexity web apps, but I hope to learn about that and also document that learning in a post in the future.
Even after one creates the WordPress website or web app., hosting it may involve some additional expense as one would need a hosting service that supports WordPress and its plugins. But if the customer is willing to pay for the hosting service then WordPress.org may be a very interesting option to quickly build websites and web apps of at least small to medium complexity with a minimum of code (low code) or sometimes no code at all (no code).
Details
Power of WordPress to create websites and web apps
I was impressed by some videos I saw on using WordPress to create websites and web apps.
Fascinating 11 min video which addresses many of the questions I have in my mind but I don't know how accurate the speaker's views are: Wordpress vs coding - why devs SHOULD learn Wordpress, https://www.youtube.com/watch?v=zxXXC-vqWng , 11 min. 2 secs by SuperSimpleDev in Mar. 2021. Some key points from the video (speaker's views):
- You can create custom web apps at any level of complexity using WordPress (WP).
- WP is a generic web framework
- Recommends devs to try WP
- @ https://youtu.be/zxXXC-vqWng?t=91 , a feature list of login, access level, visual page creator, website search, server side rendering, uploading images, PDF, database setup, responsive design ..., is shown which the speaker claims is provided out of the box by WP and would take a lot of time to implement with custom code.
- Coding login flows, (role based access control), where to store credentials, use JWT/cookie, password recovery etc. can be painful. WP provides all this.
- WP media library (images, videos...) makes it easy to store media and access them. WP does image optimization using different image sizes for different screens automatically.
- WP provides commenting and moderation.
- Big misconception of WP is that its used only for creating blogs and content websites.
- In the past ... WooCommerce plugin came out enabling WP to make an ecommerce store with cart, checkout and order history; MemberPress? plugin enabled learning management systems, fusebox made podcasting websites ...
- Speaker claims that youtube can be built with WP
- On installation, WP provides a data type called post with title, content etc. in 'your' database. You can create a theme and add new data types (custom post types) in it. So Theme is not only for visual appearance. The custom post type can be for a youtube video, a channel or a playlist. Custom APIs for these datatypes can be created. This makes it comparable, as per speaker, to custom code with HTML, CSS and JS and frameworks like ReactJS and NodeJS.
- But WP job market is "utter garbage" and speaker does not recomment getting a WP job. Companies which have the money to hire dev team get their apps done on other technologies (not WP).
WordPress allows for creation of custom post (data) types. That I think is a vital feature. The following video uses an ACF plugin to create custom post types. It also uses WP API and Next.js as frontend: How to Use WordPress as a Headless CMS, https://www.youtube.com/watch?v=fnK3OBoWmYU , 1 hr. 12 mins, by NL Tech in Sep. 2023. It doesn't share the source code repo (a comment by the author states that he deleted the source code and so cannot share it now). That is a major drawback of this video.
Advanced Custom Fields (ACF), https://wordpress.org/plugins/advanced-custom-fields/ : "Advanced Custom Fields (ACF) turns WordPress sites into a fully-fledged content management system by giving you all the tools to do more with your data.".."Use the ACF plugin to take full control of your WordPress edit screens, custom field data, and more." So that's how one defines new data types (@ https://youtu.be/fnK3OBoWmYU?t=755 video shows Product with Title, Category, Summary, Large Image, Thumbnail) in WordPress. Category is a taxonomy (with values of electronics and basics). This results in WP providing a CRUD interface for Products like it does for regular posts and pages. The Next.js app retrieves the Products data using WP's REST API and displays it.
Browsed through the following video; it shows how for the presentation part, WP buttons map to HTML & CSS elements: Unlock WordPress Potential: A Beginner's Guide to Advanced Custom Fields, https://www.youtube.com/watch?v=G6ENmGxR2ow, 35 mins. by WPTuts in May 2023.
Saw another video where PHP came into play for displaying ACF stuff.
Gives a quick idea about using WooCommerce to create a store: How To Build An eCommerce Store in 15 Minutes (WooCommerce Tutorial 2024), https://www.youtube.com/watch?v=zR1lpFFNwOs, around 16 mins, by Santrel Media in Nov. 2023. I am quite impressed by WooCommerce plugin ability to easily create at least simple ecommerce stores.
Seems to be a static website build using Wordpress and some of its themes and plugins; Covers Hostinger and "Managed WordPress" hosting within it, quickly browsed through video: How To Make a Website With WordPress (Beginners Tutorial), https://www.youtube.com/watch?v=O79pJ7qXwoE, 1 hr. 45 mins by freeCodeCamp.org in Apr 2021. Some notes about the video:
- On my local WordPress.org, downloaded and used OceanWP theme (works with WooCommerce) for free, and also imported its Lawyer demo template. But when I tried downloading OceanWP theme on my WordPress.com test website it said that it is a third-party theme which needs Creator plan.
- Similarly on my local WordPress.org site, I was able to download and use plugins like Elementor website builder (has a drag and drop page builder), Ocean Extra and WP Forms Lite. But plugins are not allowed on my WordPress.com free plan (needs Creator plan).
WordPress 'static' website vs. static website
Static web page, https://en.wikipedia.org/wiki/Static_web_page , states that static web pages are delivered to the browser exactly as stored (in the server) in contrast to a dynamic web page which is generated by a web application. Ravi: The wiki page does not define a static website but I think we can say that static websites have only static web pages (do not have any dynamic web pages).
In this section, I am using the term 'static website' only for websites whose HTML files are stored directly in the filesystem of the web server as against the HTML pages being stored in a database (which is what WordPress does).
Further, in this section, by 'static website' I mean websites whose content is not changed by users/visitors of the website. It can be changed only by the administrator of the website by changing the HTML files and related files on the web server.
We can use WordPress to create websites which are like, I repeat, like static websites, as well as dynamic websites. When we use Wordpress to create websites which are like static websites in that the website content cannot be changed by users/visitors, my understanding now is that WordPress does not store the HTML page as files in the web server and instead stores them in a database.
Tools to Convert Your WordPress Website to HTML, https://www.milesweb.in/blog/wordpress/tools-to-convert-your-wordpress-website-to-html/ , Updated 1 May 2024.
I think the above article explains the issues with WordPress site versus a static site well. When someone visits a WordPress site, (on the server) PHP code runs, database query is made to retrieve relevant HTML content and then the HTML content is sent to the browser client (which renders the HTML on the browser window/screen). In a static HTML site, the pages are directly retrieved by the server and sent to the browser client.
Static websites:
- Are faster in loading pages than WordPress sites
- Are superior in security (as there is no WordPress login or database login) than WordPress website
- Enable more efficient server load handling of the pre-rendered files of static HTML sites, as per above article.
- Seem to be cheaper to host and could even be hosted on free hosting sites like GitHub Pages though I don't know what the performance issues could be for such free hosting sites if the website has significant traffic.
I don't know how good the plugins or programs to convert WordPress (static) sites to static HTML and CSS are (If the WordPress site uses some dynamic stuff like Contact Form, then I think that will not get handled by these conversions). Simply Static plugin is mentioned in above article and was mentioned in some YT video I saw recently. I installed it on my WordPress.org setup (free plugin). The first time I tried it out with a test WordPress website where I am using OceanWP theme and a Lawyer or something like that template, it did not work properly as I had not specified the relative path setting before generating the static site. Next time around with correct relative path setting, generation of static site zip file and then unzip to the relative path setting I had specified, resulted in the site working properly.
That's quite impressive. It opens up a possibility of using WordPress.org and its many free themes, templates and plugins to create 'static' sites easily, followed by converting it to a static site using Simply Static plugin and then deploying it to a web server (could be free Github Pages). Such a deployed website will be faster, more secure and cheaper than a WordPress hosted site. The down side is that for changes to the site, WordPress.org will have to be used again (as the HTML, CSS and JS code will be very difficult to modify due to them being automatically generated) and the procedure used earlier to create a static site and deploy it, will have to be repeated.
WordPress vs Static Site Generators - Which one should you use?, https://www.youtube.com/watch?v=6nObce--yVw , 11 min. 19 secs, by Donn Felker in Aug. 2022. He mentions HUGO, Gatsby, Jekyll and Next.JS as static site generators. He seems to provide a balanced view and seems to have fair bit of experience to back what he says.
Paid and free development environment
This is where I had a lot of confusion, some of which has gone but I am still not very clear. My understanding now is:
- WordPress.com free plan is very inadequate for building websites/web apps. That needs paid plan like "Creator" plan.
- WordPress.org provides free software which can be used to set up a local development environment on PC but the installation process is complex/tricky. Plugins and themes seem to be free for WordPress.org software and that, if I got it correctly, may be a big benefit of using WordPress.org software.
- Paid hosting services that support WordPress and its plug-ins seem to provide a good development environment. Most, if not all of the above videos in this post, use such a paid hosting environment (like hostinger.com).
As a developer, I was disappointed that I could not easily set up a *free* WordPress website and web apps. development environment either on my PC or online. The idea of having to pay for a hosting service that supports WordPress website/web apps development is not so attractive to me as I currently do free service activities but I do realize that in a regular commercial environment, such payment would not be a big issue.
10 May 2024 Update about successful WordPress.org installation on local Windows PC: Given that WordPress has over 62.5% market share of CMS market with 2nd place Joomla having only 5.4%, I decided to spend some more time on WordPress.org installation on local PC. This time around I followed some individual's youtube video and an individual's blog post which recommended using XAMPP (instead of WAMP recommended by Hostinger.com). There were some small trip-ups but the installation went through and I have been able to not only run WordPress locally but also download and install a plugin (which is not allowed in WordPress.com free plan). The disappointment is still there that I did not have official WordPress.org instructions for local WordPress.org installation (it has instructions for installing on (remote) web server), especially as React, Node Express and Next.js all have official installation instructions (install of NPM followed by command line npm i xxx usually) for local PC installation. But given WordPress' dominance in market share for CMS, I have to swallow that disappointment as I want to have the ability to quickly develop a CMS website on a standard/popular platform like WordPress.
XAMPP
How to Install XAMPP and WordPress Locally on Windows PC, https://themeisle.com/blog/install-xampp-and-wordpress-locally , 27 Jan 2024.
Followed above article's instructions. Some notes:
- WordPress unzip resulted in wordpress directory under testsite. So I moved wordpress directory up to testsite level and then deleted testsite.
- Changed box next to Database (name) from latin1_swedish_ci (or something like that) to collation (as shown in above article).
Got WordPress running on local PC! I was able to go to plugins. Installed Elementor Website Builder plugin and activated it! It led to a create account page which I closed. But now Elementor is listed in left panel in WP and also listed in Installed plugins.
How to Install WordPress Locally on Windows for Beginners from Scratch, https://www.youtube.com/watch?v=usoJ6ckzUz8 , 5 min. 36 secs., by
Devtamin in Jan. 2023.
WP.org installation docs: https://developer.wordpress.org/advanced-administration/before-install/ cover installation on remote web server and not local.
WAMP
How to Install WordPress Locally (3 Methods), https://www.hostinger.in/tutorials/install-wordpress-locally. This article refers to WAMP (Windows, Apache, MySQL and PHP). I could not access https://www.wampserver.com/ mentioned in the article. Don't know what's the issue. http://www.wampserver.com/ also did not work. This was quite disheartening and has raised some concerns in my mind about stability of WordPress.org development environment on Windows.
https://sourceforge.net/projects/wampserver/ provides a WAMP download link.
https://wampserver.aviatechno.net/ - lists the VC++ redistributables that need to be installed. A link it provided as "Best way to install Visual C++ Redistributable Packages" was blocked by Chrome download as suspicious!
Following article lists above VC++ redistributables issue and how the author overcame it: Installing WAMP Server, https://www.linkedin.com/pulse/installing-wamp-server-william-ku/
This installation became too tedious. So I dropped it, as of now. In future, if there is a serious need for me to learn or use WordPress to build websites or web apps., I plan to invest the time to do the WAMP installation and get into configuration details of Apache, MySQL, PHP and WordPress.
For the free software - WordPress.org - option, I found that installing WAMP on my Windows PC was having too many issues and gave up as currently I am not ready to invest too much time into WAMP installation (that may change later). An alternative InstantWP did not work after installation. The impression I have is that setting up a local free WordPress.org development server/system on desktop PC is not an easy process as compared to setting up React & Node Express or Next.js. As I did not pursue WAMP installation after facing some issues, I cannot say how useful a working local free WordPress.org development server/system can be for creating websites/ web apps.
Instant WordPress (InstantWP)
Instant WordPress seemed to be an easy alternative to WAMP setup: How to Install Wordpress on Desktop, https://www.youtube.com/watch?v=9zlDcjpDpKo, 4 min. 32 secs by EZ Tutorials in Apr 2017
Got stuck at above problem while trying run InstantWP: "ERR_UNSAFE_PORT"
"Choose a different offset (e.g. 24999) and calculate the HTTP Port as offset + 80 (e.g. 25079)" did not work as I could not open MySQLAdmin (same error) to modify wp_options table.
Creating a website/web app. using WordPress.com free plan
I tried to create a website using my WordPress.com account. While I could do so (see https://ravisiyertest.wordpress.com/ ), I had very limited options on my free plan. I used "Fewer" free theme. WooCommerce was listed in the left side menu but trying to use it led to an upgrade to "Creator" paid plan page! (Note that installation of any plugin needs "Creator" paid plan or higher paid plan).
I tried to see if I could create custom post types. I could not spot any menu option to do so. How to Create Custom Post Types in WordPress (via Plugin and Code), https://www.cloudways.com/blog/wordpress-custom-post-type/ covers how to do so with a plugin and also by editing "function.php" (writing php code). But I could not figure out how to access function.php. How to Create a Custom Post Type in WordPress Without a Plugin, https://utilizewp.com/create-wordpress-custom-post-type-without-plugin/ mentions that Appearance -> Theme Editor will provide an option for editing functions.php but when I tried it, no such option was shown.
So Wordpress.com free plan seems to be very inadequate to create a Wordpress.com website let alone a web app.
Hosting service pricing
[Seems to not give a complete picture as it says Hostinger provides Rs.149/- per month WP hosting service without mentioning that that is for a 5 year plan; 1 month only plan is Rs.599:] WordPress Pricing And Plans (2024 Guide), https://www.forbes.com/advisor/in/business/software/wordpress-pricing/.
WordPress vs. Next.js for CMS websites
I don't have a clear answer for this, as of now. Overall the impression I am getting is that for doing CMS websites, WordPress as CMS (including presentation as against headless CMS) may be an interesting option for those who do not know front-end & back-end programming (full stack web programming).
I think those knowing full stack web programming like Next.js framework and having UI design knowledge may prefer to use full-stack web programming (custom coding) instead of using WordPress as CMS and learning how to do that including learning about the various plugins, themes, templates etc. that may have to be used.
But there is a big question of time required to do Next.js custom coding vs. using WordPress for a CMS website. I think that's where WordPress may be a big winner, especially if the developers involved already know how to use WordPress to develop a CMS website.
Notes
- Related post: Notes on website builders and Content Management Systems (CMS).
- The following short video shows how a Wordpress blog's titles can be picked up by a Next.js app. The speaker refers to the Wordpress blog as a headless CMS (with Next.js app being the ui app). Use Wordpress as a Headless CMS for Next JS, https://www.youtube.com/watch?v=si2R8aP_nT8, 6 min. 13 secs by Digital CEO in Dec. 2021.
- https://www.hostinger.in/ has a starter offer of what initially seemed to be Rs.149 for 1 month with 3 months free (and so 4 months) (but without wooCommerce) but a later page specified that it is Rs.149 if taken for 48 months and has additional 3 months free! Taking it only for one month costs Rs.599 which is too much for simply trying out WordPress websites/web apps.
- Plugins can be installed for free on wordpress.org! I had not known that. I don't think I had clearly known about wordpress.com and wordpress.org. Ref: WordPress.org vs WordPress.com: how to choose between the two, https://wpmarmite.com/en/wordpress-org-vs-com, April 2022.
- [Looks interesting but have not read it; just a super-quick browse of initial part:] WordPress.com vs WordPress.org: What’s the Difference?, https://wordpress.com/go/website-building/wordpress-com-vs-wordpress-org/, April 2022.
- As per: Joomla vs WordPress – Which One is Better? (Pros and Cons), https://kinsta.com/blog/joomla-vs-wordpress/, 20 Dec. 2023:WordPress powers over 42.7% of websites on Internet whereas Joomla powers around 3%. In CMS, WordPress has a 62.5% market share whereas Joomla has 5.4%. Ravi: Joomla is second after WP in CMS and so others hold even less than 5.4% of CMS market. Given such dominance that WP has, I don't think I should spend time on getting exposure to other CMSs unless I face major issues with WP.
- WordPress Website Cost – The Real Truth Behind Building a Site, https://kinsta.com/blog/wordpress-website-cost/ , 25 Mar 2024.
- Why Use WordPress? A Deep Dive Into 10 Good Reasons, https://kinsta.com/blog/why-use-wordpress/
- https://www.isitwp.com/ checks if a website is built using WP.
- You won't believe these websites are built on WordPress, https://www.youtube.com/watch?v=V6pezYXX1ec , 4 min. 18 secs. by WPBeginner - WordPress Tutorials in Jun. 2023. The description of the video lists the sites which I have given below:
- https://www.sonymusic.com/
- https://blog.playstation.com/
- https://techcrunch.com/
- https://about.fb.com/news/
- https://time.com/
- https://cnnpressroom.blogs.cnn.com/
- https://books.disney.com/
- https://newsroom.spotify.com/
- https://www.wired.com/
- https://news.microsoft.com/source/
- https://blog.ted.com/
- https://blog.yelp.com/
- https://www.whitehouse.gov/
- https://www.mavs.com/
- https://www.katyperry.com/
- https://nypost.com/
Comments
Post a Comment