/[^/]+/)files/(.*) $blogpath ;
}
map $blogname $blogid{
@@ -240,9 +303,10 @@ server {
NGINX provides 2 special directive: X-Accel-Redirect and map. Using these 2 directives, one can eliminate performance hit for static-file serving on WordPress multisite network.
-### WordPress Multisite subdomains rules
+##### WordPress <=3.4 Subdomains Examples
```
+# WordPress multisite subdomain config file for WP 3.4 and below.
map $http_host $blogid {
default -999;
@@ -294,8 +358,9 @@ Enabling HTTPS in Nginx is relatively simple.
server {
# listens both on IPv4 and IPv6 on 443 and enables HTTPS and HTTP/2 support.
# HTTP/2 is available in nginx 1.9.5 and above.
- listen *:443 ssl http2;
- listen [::]:443 ssl http2;
+ listen *:443 ssl;
+ listen [::]:443 ssl;
+ http2 on;
# indicate locations of SSL key files.
ssl_certificate /srv/www/ssl/ssl.crt;
@@ -547,9 +612,9 @@ location ~ /purge(/.*) {
If you get an ‘unknown directive “fastcgi_cache_purge”‘ error check that your Nginx installation has fastcgi_cache_purge module.
-## Better Performance for Static Files in Multisite
+## Better Performance for Static Files in Multisite (WP <= 3.4)
-By default, on a Multisite setup, a static file request brings php into picture i.e. `ms-files.php` file. You can get much better performance using Nginx `Map{..}` directive.
+By default, on multisite networks activated prior to 3.5, a static file request brings php into picture i.e. `ms-files.php` file. You can get much better performance using Nginx `Map{..}` directive.
In Nginx config for your site, above `server{..}` block, add a section as follows:
@@ -608,28 +673,23 @@ A typo in [Global restrictions file](https://developer.wordpress.org/advanced-ad
### External Links
-- [Nginx WordPress wiki page](http://wiki.nginx.org/WordPress)
-- [Nginx Full Example](http://wiki.nginx.org/FullExample)
-- [Nginx Full Example 2](http://wiki.nginx.org/FullExample2)
-- [LEMP guides on Linode’s Library](http://library.linode.com/lemp-guides/)
-- [Various guides about Nginx on Linode’s Library](http://library.linode.com/web-servers/nginx/)
-- [Lightning fast WordPress with Php-fpm and Nginx](http://www.sitepoint.com/lightning-fast-wordpress-with-php-fpm-and-nginx/)
-- [Virtual Hosts Examples](http://wiki.nginx.org/VirtualHostExample)
-- [List of 20+ WordPress-Nginx Tutorials for common situations](http://rtcamp.com/wordpress-nginx/tutorials/)
-- [An introduction to Nginx configuration](http://blog.martinfjordvald.com/2010/07/nginx-primer/)
+- [Nginx WordPress wiki page](https://www.nginx.com/resources/wiki/start/topics/recipes/wordpress/)
+- [LEMP guides on Linode’s Library](https://www.linode.com/docs/guides/web-servers/lemp/)
+- [Various guides about Nginx on Linode’s Library](https://www.linode.com/docs/guides/web-servers/nginx/)
+- [Lightning fast WordPress with Php-fpm and Nginx](https://www.sitepoint.com/lightning-fast-wordpress-with-php-fpm-and-nginx/)
+- [Virtual Hosts Examples](https://wiki.nginx.org/VirtualHostExample)
+- [List of 20+ WordPress-Nginx Tutorials for common situations](https://rtcamp.com/wordpress-nginx/tutorials/)
+- [An introduction to Nginx configuration](https://blog.martinfjordvald.com/nginx-primer/)
- [A comprehensive blog series on hosting WordPress yourself using Nginx](https://deliciousbrains.com/hosting-wordpress-setup-secure-virtual-server/)
-- [WordPress Installation CentminMod](http://centminmod.com/nginx_configure_wordpress.html)
+- [WordPress Installation CentminMod](https://centminmod.com/nginx_configure_wordpress.html)
- [Nginx WordPress Installation Guide](https://thecustomizewindows.com/2015/12/nginx-wordpress-installation-guide-steps/)
### Scripts & Tools
-For WordPress Nginx scripted installation [CentminMod](http://centminmod.com/nginx_configure_wordpress.html) can be used for CentOS.
+For WordPress Nginx scripted installation [CentminMod](https://centminmod.com/nginx_configure_wordpress.html) can be used for CentOS.
### Securing Nginx
-- [Securing Nginx and PHP](http://kbeezie.com/view/securing-nginx-php/)
+- [Securing Nginx and PHP](http://kbeezie.com/securing-nginx-php/)
- [Setting up PHP-FastCGI and nginx? Don’t trust the tutorials: check your configuration!](https://nealpoole.com/blog/2011/04/setting-up-php-fastcgi-and-nginx-dont-trust-the-tutorials-check-your-configuration/)
-## Changelog
-
-- 2022-10-25: Original content from [Nginx](https://wordpress.org/documentation/article/nginx/).
diff --git a/server/server-info.md b/server/server-info.md
index 7472b5ee..ac0a5238 100644
--- a/server/server-info.md
+++ b/server/server-info.md
@@ -23,7 +23,7 @@ Make sure there are no spaces before or after the command, just the command, and
Upload the file to the root directory of your site. Then type in the address to the file in your browser:
```
-http://example.com/sffdsajk234.php
+https://example.com/sffdsajk234.php
```
The result will be several pages long and it will contain a ton of information. Though your data may be in a different order, for the most part, you just need the summary items that lists things like this:
@@ -40,10 +40,7 @@ That’s it. Make sure you remember to delete the file once you’re done with i
## Information and Resources
-- [PHP.net’s phpinfo Manual](http://us3.php.net/phpinfo)
-- [Zend’s PHP Manual on phpinfo](http://www.zend.com/manual/function.phpinfo.php)
+- [PHP.net’s phpinfo Manual](https://www.php.net/phpinfo)
+- [Zend’s PHP Manual on phpinfo](https://www.zend.com/manual/function.phpinfo.php)
- [WordPress Environment PHP library](https://github.com/abelcallejo/wordpress-environment)
-## Changelog
-
-- 2022-11-11: Original content from [Finding Server Info](https://wordpress.org/documentation/article/finding-server-info/).
diff --git a/server/subdomains-wildcard.md b/server/subdomains-wildcard.md
index 7bbfdd54..8679daee 100644
--- a/server/subdomains-wildcard.md
+++ b/server/subdomains-wildcard.md
@@ -42,7 +42,7 @@ ServerAlias *.|DOMAIN|
_If you ever need to un-do a custom Httpd: return here, delete text from input area, save._
-- DirectAdmin.com: [Apache Wildcard Documentation](https://help.directadmin.com/item.php?id=127). DirectAdmin.com forum: [WordPress wildcard subdomains](http://www.directadmin.com/forum/showthread.php?p=195033).
+- DirectAdmin.com: [Apache Wildcard Documentation](https://help.directadmin.com/item.php?id=127). DirectAdmin.com forum: [WordPress wildcard subdomains](https://forum.directadmin.com/threads/wildcard-subdomains-yea-i-know-its-a-common-one.29074/#post-195033).
## Amazon Web Services {#amazon-web-services}
@@ -55,6 +55,3 @@ AWS Elastic Load Balancers cannot be assigned an elastic IP, therefore you must
- Some registrars do not currently support wildcard CNames.
- Amazon's Route53 Domain Name Service eliminates the CName issue, but at an additional cost.
-## Changelog
-
-- 2023-01-20: Original copied from [Configuring Wildcard Subdomains](https://wordpress.org/documentation/article/configuring-wildcard-subdomains/) and links checked.
diff --git a/server/web-server.md b/server/web-server.md
index 0ef5d894..eb7a50fb 100644
--- a/server/web-server.md
+++ b/server/web-server.md
@@ -4,12 +4,9 @@ The web server is a piece of software that accepts user web requests and serves
## Apache HTTPD
-TBD
+See [Apache HTTPD / .htaccess](https://developer.wordpress.org/advanced-administration/server/web-server/httpd/)
## nginx
-See [Nginx](nginx.md).
+See [Nginx](https://developer.wordpress.org/advanced-administration/server/web-server/nginx/).
-## Changelog
-
-- 2022-09-11: First move from the old handbook.
diff --git a/server/wordpress-in-directory.md b/server/wordpress-in-directory.md
index c9a9caf3..b9da005c 100644
--- a/server/wordpress-in-directory.md
+++ b/server/wordpress-in-directory.md
@@ -8,15 +8,15 @@ As of [Version 3.5](https://wordpress.org/documentation/wordpress-version/versio
## Moving a Root install to its own directory
-Let's say you've installed WordPress at `example.com`. Now you have two different methods to move wordpress installations into subdirectory:
+Let's say you've installed WordPress at `example.com`. Now you have two different methods to move WordPress installations into subdirectory:
1. Without change of SITE-URL (remains `example.com`)
2. With change in SITE-URL (it will redirect to `example.com/subdirectory`)
## Method I (Without URL change)
-1. After Installing the wordpress in root folder, move EVERYTHING from root folder into subdirectory.
-2. Create a `.htaccess` file in root folder, and put this content inside (just change `example.com` and `my_subdir`):
+1. After Installing WordPress in the root folder, move EVERYTHING from the root folder into subdirectory.
+2. Create a `.htaccess` file in the root folder, and put this content inside (just change `example.com` and `my_subdir`):
```
@@ -27,7 +27,7 @@ RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /my_subdir/$1
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
-RewriteRule ^(/)?$ my_subdir/index.php \[L\]
+RewriteRule ^(/)?$ my_subdir/index.php [L]
```
@@ -39,17 +39,17 @@ That's all 🙂
_(p.s. If you've already installed WP in subdirectory, some steps might be already done automatically)._
-1. Create the new location for the core WordPress files to be stored (we will use `/wordpress` in our examples). (On linux, use `mkdir wordpress` from your `www` directory. You'll probably want to use `chown apache:apache` on the `wordpress` directory you created.)
-2. Go to the [General](https://wordpress.org/documentation/article/administration-screens/#settings-configuration-settings) Screen.
-3. In **WordPress address (URL):** set the address of your main WordPress core files. Example: http://example.com/wordpress
-4. In **Site address (URL):** set root directory's URL. Example: http://example.com
-5. Click **Save Changes**. (Do not worry about the errors that happen now! Continue reading)
+1. Create the new location for the core WordPress files to be stored—we will use `/wordpress` in our examples. On Linux, use `mkdir wordpress` from your `www` directory. You'll probably want to use `chown apache:apache` on the `wordpress` directory you created.
+2. Go to the [General](https://wordpress.org/documentation/article/administration-screens/#settings-configuration-settings) screen.
+3. In **WordPress address (URL):** set the address of your main WordPress core files. Example: `https://example.com/wordpress`.
+4. In **Site address (URL):** set root directory's URL. Example: `https://example.com`.
+5. Click **Save Changes**. Do not worry about the errors that happen now! Continue reading.
6. Now move your WordPress core files (from root directory) to the subdirectory.
7. Copy (NOT MOVE!) the `index.php` and `.htaccess` files from the WordPress directory into the root directory of your site (Blog address). The `.htaccess` file is invisible, so you may have to set your FTP client to [show hidden files](https://developer.wordpress.org/advanced-administration/server/file-permissions/#Unhide_the_hidden_files). If you are not using [pretty permalinks](https://wordpress.org/documentation/article/using-permalinks/#using-pretty-permalinks), then you may not have a .`htaccess` file. _**If you are running WordPress on a Windows (IIS) server** and are using pretty permalinks, you'll have a `web.config` rather than a `.htaccess` file in your WordPress directory. For the `index.php` file the instructions remain the same, copy (don't move) the index.php file to your root directory. The `web.config` file, must be treated differently than the `.htaccess` file so you must MOVE (DON'T COPY) the `web.config` file to your root directory._
-8. Open your root directory's `index.php` file in a [text editor](https://wordpress.org/documentation/article/glossary#text-editor)
-9. Change the following and save the file. Change the line that says:`require dirname( __FILE__ ) . '/wp-blog-header.php';`to the following, using your directory name for the WordPress core files: `require dirname( __FILE__ ) . '/wordpress/wp-blog-header.php';`
-10. Login to the new location. It might now be http://example.com/wordpress/wp-admin/
-11. If you have set up [Permalinks](https://wordpress.org/documentation/article/using-permalinks/), go to the [Permalinks Screen](https://wordpress.org/documentation/article/administration-screens/#permalinks) and update your Permalink structure. WordPress will automatically update your `.htaccess` file if it has the appropriate file permissions. If WordPress can't write to your `.htaccess` file, it will display the new rewrite rules to you, which you should manually copy into your `.htaccess` file (in the same directory as the main `index.php` file.)
+8. Open your root directory's `index.php` file in a [text editor](https://wordpress.org/documentation/article/glossary#text-editor).
+9. Change the following and save the file. Change the line that says:`require dirname( __FILE__ ) . '/wp-blog-header.php';`to the following, using your directory name for the WordPress core files: `require dirname( __FILE__ ) . '/wordpress/wp-blog-header.php';`.
+10. Login to the new location. It might now be `https://example.com/wordpress/wp-admin/`.
+11. If you have set up [Permalinks](https://wordpress.org/documentation/article/using-permalinks/), go to the [Permalinks Screen](https://wordpress.org/documentation/article/administration-screens/#permalinks) and update your Permalink structure. WordPress will automatically update your `.htaccess` file if it has the appropriate file permissions. If WordPress can't write to your `.htaccess` file, it will display the new rewrite rules to you, which you should manually copy into your `.htaccess` file (in the same directory as the main `index.php` file).
### .htaccess modification
@@ -78,6 +78,3 @@ The following links explains how to change specific directories within WordPress
* [Using Caddy to give WordPress its own directory](https://caddy.community/t/using-caddy-to-give-wordpress-its-own-directory/13185)
-## Changelog
-
-- 2022-09-11: Original content from [Giving WordPress Its Own Directory](https://wordpress.org/documentation/article/giving-wordpress-its-own-directory/).
diff --git a/themes/index.md b/themes/index.md
index 3a4f670b..f1c0c3a3 100644
--- a/themes/index.md
+++ b/themes/index.md
@@ -1,9 +1,56 @@
# Themes
+The Theme refers to the underlying technologies and components that come together to deliver the visual design and functionality of a WordPress website. It encompasses the server-side components that power WordPress, as well as the architecture and files specific to WordPress themes.
+Understanding the technology behind WordPress themes on the server is fundamental to building and maintaining successful WordPress websites. Whether you're a developer, designer, or administrator, this knowledge empowers you to create and manage themes effectively, ensuring a secure, high-performing, and visually appealing web presence.
+## Technology of Themes
+### Web Servers
+Web servers (e.g., Apache, Nginx) handle incoming HTTP requests and serve web pages. They play a critical role in delivering WordPress themes to users.
-## Changelog
+### PHP
+PHP is the server-side scripting language that WordPress is built upon. It processes requests, connects to the database, and generates dynamic content based on theme files and user input.
+
+### Databases
+WordPress relies on databases, typically MySQL, to store content, settings, and theme data. It retrieves information from the database to dynamically generate web pages.
+
+### File Systems
+File systems are used to store theme files, images, JavaScript, and CSS. Understanding the structure and organization of theme files is essential for theme development.
+
+## Theme Architecture
+WordPress themes consist of PHP template files, CSS stylesheets, JavaScript files, and other assets. Themes are organized within the `wp-content/themes` directory on the server.
+
+Template files determine the layout and structure of web pages. Key templates include `header.php`, `footer.php`, and various content-specific templates like `single.php` and `page.php`.
+
+### Style Sheets (CSS)
+CSS files control the visual presentation of the theme. Styles are defined in CSS files and determine elements like colors, fonts, and layout.
+
+### JavaScript
+JavaScript files enhance website interactivity and functionality. These files can be included in themes for tasks like form validation, animations, and AJAX functionality.
+
+### Functions.php
+The `functions.php` file contains PHP functions and code for theme-specific features and customizations. It's where you can add actions, filters, and custom functions to modify how the theme behaves.
+
+## Workflow on your Webserver
+
+### User Requests
+When a user visits a WordPress site, the web server processes their request and forwards it to WordPress.
+
+### WordPress Core
+WordPress core, which includes PHP scripts and database queries, interprets the user's request and retrieves content and settings.
+
+### Theme Integration
+The selected theme's template files and styles are integrated into the content, and the final HTML, CSS, and JavaScript are generated and sent to the user's browser.
+
+## Customization and Optimization
+
+### Child Themes
+Child themes are used to extend and customize existing themes without modifying the original theme files. This allows you to make changes without losing updates or risking theme conflicts.
+
+### Performance
+Optimizing themes for performance includes minimizing server requests, reducing image sizes, and optimizing CSS and JavaScript. Caching techniques can also enhance loading speed.
+
+### Security Considerations
+Proper security practices include keeping themes and WordPress core up-to-date, securing database access, and sanitizing user input to prevent vulnerabilities.
-- 2022-08-16: Nothing here, yet.
diff --git a/upgrade/adminer.md b/upgrade/adminer.md
new file mode 100644
index 00000000..69587b11
--- /dev/null
+++ b/upgrade/adminer.md
@@ -0,0 +1,36 @@
+# Adminer
+
+## What is Adminer?
+
+[Adminer](https://www.adminer.org/), formerly known as phpMinAdmin, is a full-featured database management tool written in PHP. Unlike [phpMyAdmin](https://developer.wordpress.org/advanced-administration/upgrade/phpmyadmin/), which is a multi-file solution, Adminer consists of a single file that's ready for deployment to the target server. It is available for various databases, including MySQL, MariaDB, PostgreSQL, SQLite, MS SQL, Oracle, Elasticsearch, MongoDB, and others. Since WordPress stores all its data in the MySQL database, Adminer offers a "raw" view of the data, tables, and fields within this database.
+
+## Advantages of Adminer
+
+- **Simple Interface**: Adminer offers a clean and user-friendly interface, unlike some other database management tools.
+- **Direct Data Manipulation**: Useful for direct database edits, especially if WordPress stopped working.
+- **Lightweight**: Being a single PHP file, it is easy to upload, use, and remove.
+
+## What is it good for?
+
+Adminer is beneficial for table maintenance, data backups, and direct database edits. Occasionally, in the [Support Forums](https://wordpress.org/support/welcome/#asking-for-support), contributors share beneficial SQL queries that can be executed using tools like Adminer.
+
+## Where can I get it?
+
+Many hosting control panels, like cPanel and Plesk, come with [phpMyAdmin](https://developer.wordpress.org/advanced-administration/upgrade/phpmyadmin/) pre-installed. If no database access is available, users can consult with their hosting provider to get database access.
+For those who prefer to use Adminer, it can be downloaded from the [Adminer project page](https://www.adminer.org/).
+
+## Installing Adminer
+
+1. Download the latest version of Adminer from the [Adminer download page](https://www.adminer.org/en/#download).
+2. Upload the Adminer PHP file into the WordPress root directory (where the `wp-config.php` file is located) using an FTP tool like [FileZilla](https://wordpress.org/documentation/article/using-filezilla/).
+3. After uploading the Adminer PHP file to the WordPress root directory, you can access it from your browser by adding the file name to the URL, e.g., `https://example.com/adminer-4.8.1.php`.
+4. The database login credentials must be manually filled and can be obtained from the `wp-config.php` file.
+
+## Installing Adminer as a WordPress Plugin
+
+Adminer might also be available as a plugin in the [WordPress plugin repository](https://wordpress.org/plugins/search/database+adminer/). If installed as a WordPress plugin, Adminer may automatically use the database login credentials from the `wp-config.php` file when accessing it.
+
+## Security Precautions
+
+To prevent unauthorized access, please ensure that Adminer is either removed or protected after use, especially if it can be accessed publicly. One way to protect it is by restricting access using the `.htaccess` file. If you're unfamiliar with `.htaccess` file restrictions, consider seeking [guidance on hardening WordPress](https://wordpress.org/documentation/article/hardening-wordpress/) or removing Adminer after use.
+
diff --git a/upgrade/filezilla.md b/upgrade/filezilla.md
index c9b7f4ca..94dfa627 100644
--- a/upgrade/filezilla.md
+++ b/upgrade/filezilla.md
@@ -16,7 +16,7 @@ It's fast, stable, easy to use, and free. FTP is a standard way to upload or dow
You will need the following details regarding the FTP account on your server:
-1. Your website FTP address (usually `ftp://example.com` if your URL is `http://example.com`)
+1. Your website FTP address (usually `ftp://example.com` if your URL is `https://example.com`)
2. Your FTP username
3. Your FTP password
@@ -55,7 +55,3 @@ Look at the top area of the FileZilla main window and check the messages.
2. If it says that the user does not exist or _Incorrect Login_ and so on, check the Site Manager setting and ensure that it reflects what your FTP account and password details provided by your host says, or use the web server administration interface provided to you by your host to re-check the existence of the FTP account. Check your password carefully. It is case-sensitive (capitals and small letters). You may want to ask your web host for some assistance, too.
3. If it says _Could not retrieve directory listing_, you may need to change the Transfer Setting. From Site Manager, select your FTP Server and click the *Transfer Settings* tab. Select *Passive* from Transfer mode and click OK.
-## Changelog
-
-- 2023-05-05: Correct and clarify the Connecting section.
-- 2022-09-11: Original content from [Using FileZilla](https://wordpress.org/documentation/article/using-filezilla/).
\ No newline at end of file
diff --git a/upgrade/ftp.md b/upgrade/ftp.md
index 7d5e5cdd..e77af437 100644
--- a/upgrade/ftp.md
+++ b/upgrade/ftp.md
@@ -3,7 +3,7 @@
## FTP Clients
There are two ways of getting files onto your site, and once there, changing them:
-1. By using the file manager provided in your host’s control panel. Popular file managers: [cPanel](https://documentation.cpanel.net/display/64Docs/File+Manager), [DirectAdmin](http://www.site-helper.com/filemanager.html), [Plesk](https://www.plesk.com/).
+1. By using the file manager provided in your host’s control panel. Popular file managers: [cPanel](https://documentation.cpanel.net/display/64Docs/File+Manager), [DirectAdmin](https://www.site-helper.com/filemanager.html), [Plesk](https://www.plesk.com/).
2. By using an FTP or SFTP client. This guide will show you how to use [FileZilla](https://filezilla-project.org/).
FTP or “File Transfer Protocol” has been the most widely used transfer protocol for over thirty years, but it sends your information in the clear, which is a security risk. Use SFTP (Secure File Transfer Protocol) if your host supports it. This transfers your files and your password over a secured connection, and should therefore be used instead of FTP whenever possible. Sometimes you have to contact your host to have SFTP enabled on your account.
@@ -14,8 +14,5 @@ Why use FileZilla? Because, like WordPress, it is released under the GPL. So, it
2. [Setting Permissions](https://developer.wordpress.org/advanced-administration/server/file-permissions/)
3. [FileZilla’s Extensive Documentation](https://wiki.filezilla-project.org/Documentation)
-Want to try a different FTP or SFTP client? [Find more on Wikipedia](http://en.wikipedia.org/wiki/Comparison_of_FTP_clients).
+Want to try a different FTP or SFTP client? [Find more on Wikipedia](https://en.wikipedia.org/wiki/Comparison_of_FTP_clients).
-## Changelog
-
-- 2022-09-11: Original content from [FTP Clients](https://wordpress.org/documentation/article/ftp-clients/). Minor copy-editing.
diff --git a/upgrade/index.md b/upgrade/index.md
index f7e19f5d..768cf01f 100644
--- a/upgrade/index.md
+++ b/upgrade/index.md
@@ -4,6 +4,3 @@
-## Changelog
-
-- 2022-08-16: Nothing here, yet.
diff --git a/upgrade/migrating.md b/upgrade/migrating.md
index 72c54361..9b1a874c 100644
--- a/upgrade/migrating.md
+++ b/upgrade/migrating.md
@@ -2,14 +2,14 @@
## Changing The Site URL
-On the `Settings -> General` screen in a single site installation of WordPress, there are two fields named "WordPress Address (URL)" and "Site Address (URL)". They are important settings, since they control where WordPress is located. These settings control the display of the URL in the admin section of your page, as well as the front end, and are used throughout the WordPress code.
+On the `Settings -> General` screen in a single site installation of WordPress, there are two fields named "WordPress Address (URL)" and "Site Address (URL)". They are important settings since they control where WordPress is located. These settings control the display of the URL in the admin section of your page, as well as the front end, and are used throughout the WordPress code.
- The "Site Address (URL)" setting is the address you want people to type in their browser to reach your WordPress blog.
- The "WordPress Address (URL)" setting is the address where your WordPress core files reside.
-**Note:** Both settings should include the http:// part and should not have a slash `/` at the end.
+**Note:** Both settings should include the https:// part and should not have a slash `/` at the end.
-Every once in a while, somebody finds a need to manually change (or fix) these settings. Usually this happens when they change one or both and discover that their site no longer works properly. This can leave the user with no easily discoverable way to correct the problem. This article tells you how to change these settings directly.
+Every once in a while, somebody finds a need to manually change (or fix) these settings. Usually, this happens when they change one or both and discover that their site no longer works properly. This can leave the user with no easily discoverable way to correct the problem. This article tells you how to change these settings directly.
Additional information is presented here for the case where you are moving WordPress from one site to another, as this will also require changing the site URL. You should not attempt to use this additional information if you're only attempting to correct a "broken" site.
@@ -24,8 +24,8 @@ It is possible to set the site URL manually in the `wp-config.php` file.
Add these two lines to your `wp-config.php`, where "example.com" is the correct location of your site.
```
-define( 'WP_HOME', 'http://example.com' );
-define( 'WP_SITEURL', 'http://example.com' );
+define( 'WP_HOME', 'https://example.com' );
+define( 'WP_SITEURL', 'https://example.com' );
```
This is not necessarily the best fix, it's just hard-coding the values into the site itself. You won't be able to edit them on the General settings page anymore when using this method.
@@ -38,10 +38,10 @@ If you have access to the site via FTP, then this method will help you quickly g
2. Add these two lines to the file, immediately after the initial ` 500 ports."`
-9. Then go do something for ten minutes and when you get back see if the external url http://example.com:port/yourblog from a LAN browser brings the page up correctly.
+9. Then go do something for ten minutes and when you get back see if the external url https://example.com:port/yourblog from a LAN browser brings the page up correctly.
#### Relocate method
@@ -111,7 +111,7 @@ if ( defined( 'RELOCATE' ) AND RELOCATE ) {
// Move flag is set
if ( isset( $_SERVER['PATH_INFO'] ) AND ($_SERVER['PATH_INFO'] != $_SERVER['PHP_SELF']) )
$_SERVER['PHP_SELF'] = str_replace( $_SERVER['PATH_INFO'], "", $_SERVER['PHP_SELF'] );
- $url = dirname( set_url_scheme( 'http://'. $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'] ) );
+ $url = dirname( set_url_scheme( 'https://'. $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'] ) );
if ( $url != get_option( 'siteurl' ) )
update_option( 'siteurl', $url );
}
@@ -122,7 +122,7 @@ if ( defined( 'RELOCATE' ) AND RELOCATE ) {
1. Edit the `wp-config.php` file.
2. After the "define" statements (just before the comment line that says "That's all, stop editing!"), insert a new line, and type: `define('RELOCATE',true);`
3. Save your `wp-config.php` file.
-4. Open a web browser and manually point it to `wp-login.php` on the new server. For example, if your new site is at http://www.example.com, then type http://www.example.com/wp-login.php into your browser's address bar.
+4. Open a web browser and manually point it to `wp-login.php` on the new server. For example, if your new site is at https://www.example.com, then type https://www.example.com/wp-login.php into your browser's address bar.
5. Login as per normal.
6. Look in your web browser's address bar to verify that you have, indeed, logged in to the correct server. If this is the case, then in the Admin back-end, navigate to `Settings > General` and verify that both the address settings are correct. Remember to Save Changes.
7. Once this has been fixed, edit `wp-config.php` and either completely remove the line that you added (delete the whole line), comment it out (with `//`) or change the true value to false if you think it's likely you will be relocating again.
@@ -174,7 +174,7 @@ UPDATE `newprefix_usermeta` SET `meta_key` = REPLACE( `meta_key` , 'oldprefix_',
#### Changing Template Files
-In your WordPress Theme, open each template file and search for any manually entered references to your old domain name and replace it with the new one. Look for specific hand coded links you may have entered on the various template files such as the `sidebar.php` and `footer.php`. WordPress uses a template tag called `bloginfo()` to automatically generate your site address from information entered in your Administration > Settings > General panel. The tag in your template files will not have to be modified.
+In your WordPress Theme, open each template file and search for any manually entered references to your old domain name and replace it with the new one. Look for specific hand-coded links you may have entered on the various template files such as the `sidebar.php` and `footer.php`. WordPress uses a template tag called `bloginfo()` to automatically generate your site address from information entered in your Administration > Settings > General panel. The tag in your template files will not have to be modified.
#### Changing the Config file
@@ -218,11 +218,11 @@ If you make a mistake, you can [Restore Your Database](https://developer.wordpre
There are other things you may wish to change in order to correct URLs when moving sites.
1. Images link: image links are stored in "post_content" in the `wp_posts` table. You can use the similar code above to update image links.
-2. wp_options: Besides the "siteurl" and "home" items mentioned above, there are other option_value which also need revision, such as "upload path", and some plugin items (depends on what you've installed, such as widgets, stats, DMSGuestbook, sitemap, etc.)
+2. wp_options: Besides the "siteurl" and "home" items mentioned above, there are other option_value that also need revision, such as "upload path", and some plugin items (depends on what you've installed, such as widgets, stats, DMSGuestbook, sitemap, etc.)
3. To fix widgets that contain outdated URL's, you may edit them in Dashboard / Appearance / Widgets.
4. Do a FULL database search for any items left. **MAKE SURE** you know what you are changing and go through each item for possible improper replacement.
5. If you a running a network / have multiple sites, you will need to replace instances of the URL in the database. They are stored in many tables, including each one of the sites (blogs). Be careful in what you replace and be sure you know the meaning of the field before changing it. See the Important GUID note below for an example of what not to change.
-6. **Note:** If you find your old url in the database options table under `dashboard_incoming_links`, you can ignore or delete that option. It's unused since WP 3.8.
+6. **Note:** If you find your old URL in the database options table under `dashboard_incoming_links`, you can ignore or delete that option. It's unused since WP 3.8.
#### Important GUID Note
@@ -250,14 +250,14 @@ See [Moving WordPress Multisite](https://developer.wordpress.org/advanced-admini
#### wp-cli
-[wp-cli](http://wp-cli.org/) is a super useful shell tool.
+[wp-cli](https://wp-cli.org/) is a super useful shell tool.
`wp search-replace 'example.dev' 'example.com' --skip-columns=guid`
Or, if you only want to change the option, you can do:
```
-wp option update home 'http://example.com'
-wp option update siteurl 'http://example.com'
+wp option update home 'https://example.com'
+wp option update siteurl 'https://example.com'
```
# Moving WordPress
@@ -279,12 +279,12 @@ Moving your domain without changing the Home and Site URLs of your WordPress sit
### Changing Your Domain Name and URLs
-Moving a website and changing your domain name or URLs (i.e. from http://example.com/site to http://example.com, or http://example.com to http://example.net) requires the following steps – in sequence.
+Moving a website and changing your domain name or URLs (i.e. from https://example.com/site to https://example.com, or https://example.com to https://example.net) requires the following steps – in sequence.
1. Download your existing site files.
2. Export your database – go in to MySQL and export the database.
3. Move the backed up files and database into a new folder – somewhere safe – this is your site backup.
-4. Log in to the site you want to move and go to Settings > General, then change the URLs. (ie from http://example.com/ to http://example.net) – save the settings and expect to see a 404 page.
+4. Log in to the site you want to move and go to Settings > General, then change the URLs. (ie from https://example.com/ to https://example.net) – save the settings and expect to see a 404 page.
5. Download your site files again.
6. Export the database again.
7. Edit `wp-config.php` with the new server's MySQL database name, user and password.
@@ -296,7 +296,7 @@ When your domain name or URLs change there are additional concerns. The files an
If you do a search and replace on your entire database to change the URLs, you can cause issues with data serialization, due to the fact that some themes and widgets store values with the length of your URL marked. When this changes, things break. To avoid that serialization issue, you have three options:
1. Use the [Velvet Blues Update URLs](https://wordpress.org/plugins/velvet-blues-update-urls/) or [Better Search Replace](https://wordpress.org/plugins/better-search-replace/) plugins if you can access your Dashboard.
-2. Use [WP-CLI's search-replace](http://wp-cli.org/commands/search-replace/) if your hosting provider (or you) have installed WP-CLI.
+2. Use [WP-CLI's search-replace](https://developer.wordpress.org/cli/commands/search-replace/) if your hosting provider (or you) have installed WP-CLI.
3. Use the [Search and Replace for WordPress Databases Script](https://interconnectit.com/products/search-and-replace-for-wordpress-databases/) to safely change all instances on your old domain or path to your new one. (**only use this option if you are comfortable with database administration** )
Note: Only perform a search and replace on the wp_posts table.
@@ -317,10 +317,10 @@ Here are the step-by-step instructions to move your WordPress site to a new loca
5. In the box for **Site Address (URL)**: change the address to the new location, which should match the WordPress (your public site) address.
6. Click **Save Changes**.
7. (Do not try to open/view your site now!)
-8. Move your WordPress core files to the new location. This includes the files found within the original directory, such as http://example.com/wordpress, and all the sub-directories, to the new location.
+8. Move your WordPress core files to the new location. This includes the files found within the original directory, such as https://example.com/wordpress, and all the sub-directories, to the new location.
9. Now, try to open your site by going to yourdomain.com/wp-admin. Note, you may need to go to yourdomain.com/wp-login.php
10. If you are using [Permalinks](https://wordpress.org/documentation/article/using-permalinks/), go to the Administration > Settings > [Permalinks](https://wordpress.org/documentation/article/settings-permalinks-screen/) panel and update your Permalink structure to your [.htaccess](https://wordpress.org/documentation/article/glossary/#htaccess), file, which should be in the same directory as the main `index.php` file.
-11. Existing image/media links uploaded media will refer to the old folder and must be updated with the new location. You can do this with the [Better Search Replace](https://wordpress.org/plugins/better-search-replace/) or [Velvet Blues Update URLs](https://wordpress.org/plugins/velvet-blues-update-urls/) plugins, [WP-CLI's search-replace](http://wp-cli.org/commands/search-replace/) if your hosting provider (or you) have installed WP-CLI, manually in your SQL database, or by using the 3rd party database updating tool [Search and Replace Databases Script](https://interconnectit.com/products/search-and-replace-for-wordpress-databases/) * **Note:** this script is best used by experienced developers.
+11. Existing image/media links uploaded media will refer to the old folder and must be updated with the new location. You can do this with the [Better Search Replace](https://wordpress.org/plugins/better-search-replace/) or [Velvet Blues Update URLs](https://wordpress.org/plugins/velvet-blues-update-urls/) plugins, [WP-CLI's search-replace](https://developer.wordpress.org/cli/commands/search-replace/) if your hosting provider (or you) have installed WP-CLI, manually in your SQL database, or by using the 3rd party database updating tool [Search and Replace Databases Script](https://interconnectit.com/products/search-and-replace-for-wordpress-databases/) * **Note:** this script is best used by experienced developers.
12. In some cases your permissions may have changed, depending on your ISP. Watch for any files with "0000" permissions and change them back to "0644".
13. If your theme supports menus, links to your home page may still have the old subdirectory embedded in them. Go to Appearance > Menus and update them.
14. Sometimes you would need to restart your server, otherwise your server may give out an error. (happens in MAMP software (Mac)).
@@ -337,7 +337,7 @@ ln -s /path/to/new /path/to/old
```
and then follow the steps above as normal. Afterwards, delete the symlink if you want.
-2. If you forget to change the WordPress Address and Blog Address, you will be unable to change it using the wordpress interface. However, you can fix it if you have access to the database. Go to the database of your site and find the wp_options table. This table stores all the options that you can set in the interface. The WordPress Address and Blog Address are stored as `siteurl` and `home` (the option_name field). All you have to do is change the option_value field to the correct URL for the records with `option_name='siteurl‘` or `option_name='home‘`.
+2. If you forget to change the WordPress Address and Blog Address, you will be unable to change it using the WordPress interface. However, you can fix it if you have access to the database. Go to the database of your site and find the wp_options table. This table stores all the options that you can set in the interface. The WordPress Address and Blog Address are stored as `siteurl` and `home` (the option_name field). All you have to do is change the option_value field to the correct URL for the records with `option_name='siteurl‘` or `option_name='home‘`.
Note: Sometimes, the WordPress Address and Blog Address are stored in [WordPress Transients](https://developer.wordpress.org/apis/handbook/transients/). Search and replace scripts can have trouble modifying those to the new address and some plugins might therefore refer to the old address because of them. Transients are temporary (cached) values stored in the wp_options database table that can be recreated on-demand when removed. It's therefore safe to delete them from the migrated database copy and let them be recreated. This database query (again, have a backup!) clears all transients:
@@ -359,8 +359,8 @@ and insert the following lines below:
```
//FIXME: do comment/remove these hack lines. (once the database is updated)
-update_option('siteurl', 'http://your.domain.name/the/path' );
-update_option('home', 'http://your.domain.name/the/path' );
+update_option('siteurl', 'https://example.com/the/path' );
+update_option('home', 'https://example.com/the/path' );
```
You're done. Test your site to make sure that it works right. If the change involves a new address for your site, make sure you let people know the new address, and consider adding some redirection instructions in your `.htaccess` file to guide visitors to the new location.
@@ -371,7 +371,7 @@ You're done. Test your site to make sure that it works right. If the change invo
## Managing Your Old Site
### Shutting It Down
-1. Download a copy of the main wordpress files from your OLD site to your hard drive and [edit wp-config.php](https://developer.wordpress.org/advanced-administration/wordpress/wp-config/) to suit the new server.
+1. Download a copy of the main WordPress files from your OLD site to your hard drive and [edit wp-config.php](https://developer.wordpress.org/advanced-administration/wordpress/wp-config/) to suit the new server.
2. Go back to your OLD site and go to [Administration](https://wordpress.org/documentation/article/administration-screens/) > [Settings](https://wordpress.org/documentation/article/administration-screens/#settings-configuration-settings) > [General](https://wordpress.org/documentation/article/settings-general-screen/) screen and change the URL (both of them) to that of your new site.
3. Login on your server, go to phpMyAdmin, export as file, and save your database (but keep the old one just in case). Now, upload this new database and the copy of the wordpress core files with the edited wp-config.php to your new server. That's it!
@@ -397,15 +397,15 @@ _Part B – Restoring Your Old Site_
Another procedure for making copies of posts, comments, pages, categories and custom field (post status, data, permalinks, ping status, etc.) easy to follow:
1. Install a new WordPress site
-2. Go on old site Admin panel. Here, in Manage > Export select "all" in menu Restrict Author.
+2. Go to the old site Admin panel. Here, in Manage > Export select "all" in the menu Restrict Author.
3. Click on Download Export File
-4. In new site go on Manage > Import, choose WordPress item.
-5. In the page that will be shown, select the file just exported. Click on Upload file and Import
-6. It will appear a page. In Assign Authors, assign the author to users that already exist or create new ones.
+4. In the new site go to Manage > Import, and choose WordPress item.
+5. On the page that will be shown, select the file just exported. Click on Upload file and Import
+6. It will appear on a page. In Assign Authors, assign the author to users that already exist or create new ones.
7. Click on Submit
8. At the end, click on Have fun
-_Note: using this method, if there are some articles in the new site (like Hello World, Info Page, etc.), these will not be erased. Articles are only added. Using the former procedure, the articles in new site will be deleted._
+_Note: using this method, if there are some articles in the new site (like Hello World, Info Page, etc.), these will not be erased. Articles are only added. Using the former procedure, the articles in the new site will be deleted._
## Moving WordPress Multisite
@@ -415,7 +415,7 @@ If, instead, you are changing domains, then the best way to move Multisite is to
If you're moving Multisite from one folder to another, you will need to make sure you edit the `wp_blogs` entries to change the folder name correctly. You should manually review both `wp_site` and `wp_blogs` regardless, to ensure all sites were changed correctly.
-Also, manually review all the wp_x_options tables and look for three fields and edit them as needed:
+Also, manually review all the wp_x_options tables look for three fields, and edit them as needed:
- home
- siteurl
@@ -425,17 +425,13 @@ If you are moving from subdomains to subfolders, or vice-versa, remember to adju
### Related Links
-- [How to move WordPress site to another server with zero downtime](http://www.prelovac.com/vladimir/how-to-move-wordpress-site-to-another-server-with-zero-downtime)
-- [Moving a blog from wordpress.com to self-hosted blog](http://www.problogger.net/archives/2009/01/03/how-to-move-from-wordpresscom-to-wordpressorg/)
-- [Moving WordPress to a new domain or server](http://sltaylor.co.uk/blog/moving-wordpress-new-domain-server/)
-- [Italian version of this article – Versione italiana dell'articolo](http://www.valent-blog.eu/2007/09/14/trasferire-wordpress/)
-- [How to move a WordPress Blog or Website](http://www.velvetblues.com/web-development-blog/how-to-move-a-wordpress-blog-or-website/)
-- [Search and Replace for WordPress Databases](http://interconnectit.com/124/search-and-replace-for-wordpress-databases/)
-- [Online WordPress Serialized PHP Search and Replace](http://pixelentity.com/wordpress-search-replace-domain/)
-- [Cloning a live WordPress site to a local Mac test environment](http://egalo.com/2012/05/15/clone-live-wordpress-to-local-env/)
-- P[HP script to replace site url in WordPress database dump, even with WPML](http://blog.lavoie.sl/2012/07/php-script-to-replace-site-url-in.html)
+- [Moving a blog from wordpress.com to self-hosted blog](https://problogger.com/how-to-move-from-wordpresscom-to-wordpressorg/)
+- [Moving WordPress to a new domain or server](https://sltaylor.co.uk/blog/moving-wordpress-new-domain-server/)
+- [Italian version of this article – Versione italiana dell'articolo](https://www.valent-blog.eu/2007/09/14/trasferire-wordpress/)
+- [Search and Replace for WordPress Databases](https://interconnectit.com/search-and-replace-for-wordpress-databases/)
+- [PHP script to replace site url in WordPress database dump, even with WPML](http://blog.lavoie.sl/2012/07/php-script-to-replace-site-url-in.html)
- [The Duplicator plugin helps administrators move a site from one location to another](https://wordpress.org/plugins/duplicator/)
-- [Technical tutorial on moving your WordPress blog to Bitnami's AWS configuration](http://www.agileweboperations.com/migrate-your-wordpress-blog-to-a-bitnami-ec2-instance)
+- [Technical tutorial on moving your WordPress blog to Bitnami's AWS configuration](https://agileweboperations.com/2011/01/20/migrate-your-wordpress-blog-to-a-bitnami-ec2-instance/)
# Migrating multiple blogs into WordPress multisite
@@ -450,7 +446,7 @@ This tutorial assumes that you are hosting WordPress on a server using cPanel. I
Generate a full site backup in cPanel. It might also help to copy all the files on the server via FTP, so that you can easily access the files for plugins and themes, which you'll need in a later step.
#### Export from your existing WordPress installs
-In each of your existing WordPress installations, go Tools > Export in WordPress. Download the WXR files that contain all your posts and pages for each site. See the instructions on the [Tools Export Screen](https://wordpress.org/documentation/article/tools-export-screen/).
+In each of your existing WordPress installations, go to Tools > Export in WordPress. Download the WXR files that contain all your posts and pages for each site. See the instructions on the [Tools Export Screen](https://wordpress.org/documentation/article/tools-export-screen/).
Make sure that your export file actually has all the posts and pages. You can verify this by looking at the last entry of the exported file using a text editor. The last entry should be the most recent post.
@@ -467,14 +463,14 @@ Install WordPress. Follow the instructions for [Installing WordPress](https://de
Activate multi-site in your WordPress install. This involves editing `wp-config.php` a couple of times. You need to use the subdomain, not the subdirectory, option. See the instructions on how to [Create A Network](https://developer.wordpress.org/advanced-administration/multisite/create-network/).
#### Create blogs for each site you want to import
-Create blogs for each of the sites you want to host at separate domains. For example, `importedblogdotorg.mydomain.com`.
+Create blogs for each of the sites you want to host in separate domains. For example, `importedblogdotorg.mydomain.com`.
Note: choose the name carefully, because changing it causes admin redirection issues. This is particularly important if you are migrating a site within the same hosting account.
#### Import WXR files for each blog
Go to the backend of each blog, and import the exported WXR file for each blog. Map the authors to the proper users, or create new ones. Be sure to check the box that will pull in photos and other attachments. See the instructions on Tools Import SubPanel.
-**Note:** if you choose to import images from the source site into the target site, make sure they have been uploaded into the right place and are displayed correctly in the respective post or page.
+**Note:** If you choose to import images from the source site into the target site, make sure they have been uploaded into the right place and are displayed correctly in the respective post or page.
#### Edit WordPress configuration settings for each site
@@ -483,7 +479,7 @@ Edit the configuration settings, widget, etc. for each site. By the end of this
#### Limitations of PHP configuration
You may run into trouble with the PHP configuration on your host. There are two potential problems. One is that PHP's `max_upload_size` will be too small for the WXR file. The other problem is that the PHP memory limit might be too small for importing all the posts.
-There are a couple ways to solve it. One is to ask your hosting provider to up the limits, even temporarily. The other is to put a php.ini file in your /wp-admin/ and /wp-includes directories that ups the limits for you (php.ini files are not recursive, so it has to be in those directories). Something like a 10 MB upload limit and a 128 MB memory limit should work, but check with your hosting provider first so that you don't violate the terms of your agreement.
+There are a couple of ways to solve it. One is to ask your hosting provider to up the limits, even temporarily. The other is to put a php.ini file in your /wp-admin/ and /wp-includes directories that ups the limits for you (php.ini files are not recursive, so it has to be in those directories). Something like a 10 MB upload limit and a 128 MB memory limit should work, but check with your hosting provider first so that you don't violate the terms of your agreement.
Search the [WordPress forum support](https://wordpress.org/support/forums/) for help with PHP configuration problems.
@@ -500,6 +496,3 @@ If the old site is no longer available and you find you have forgotten to copy s
Another option might be the [Internet Archive Wayback Machine](https://archive.org/web/). They may have a copy of the site (or some part of it) archived.
-## Changelog
-
-- 2022-09-11: Original content from [Changing The Site URL](https://wordpress.org/documentation/article/changing-the-site-url/), and [Moving WordPress](https://wordpress.org/documentation/article/moving-wordpress/).
diff --git a/upgrade/phpmyadmin.md b/upgrade/phpmyadmin.md
index 1b31b2de..eeed2ea0 100644
--- a/upgrade/phpmyadmin.md
+++ b/upgrade/phpmyadmin.md
@@ -14,6 +14,3 @@ Often host control panels, such as cPanel and Plesk, have phpMyAdmin pre-install
You can download phpMyAdmin yourself and install it from the main [phpMyAdmin project page](https://www.phpmyadmin.net/).
-## Changelog
-
-- 2022-09-11: Original content from [phpMyAdmin](https://wordpress.org/documentation/article/phpmyadmin/).
diff --git a/upgrade/upgrading.md b/upgrade/upgrading.md
index 5026eeaf..2b774e98 100644
--- a/upgrade/upgrading.md
+++ b/upgrade/upgrading.md
@@ -4,7 +4,25 @@
This page contains a more detailed version of [the upgrade instructions](https://wordpress.org/documentation/article/updating-wordpress/).
-### Detailed Instructions {#detailed-instructions}
+### Back up WordPress {#backup-up-wordpress}
+
+Before you get started, it’s a good idea to back up your website. This means if there are any issues you can restore your website. Complete instructions to make a backup can be found in the WordPress Backup.
+
+### One-click Upgrade {#one-click-upgrade}
+
+WordPress lets you update with the click of a button. You can launch the update by clicking the link in the new version banner (if it’s there) or by going to the Dashboard > Updates screen. Once you are on the “Update WordPress” page, click the button “Update Now” to start the process off. You shouldn’t need to do anything else and, once it’s finished, you will be up-to-date.
+
+One-click updates work on most servers. If you have any problems, it is probably related to permissions issues on the filesystem.
+
+#### Hosting Services Tools {#hosting-services-tools}
+
+You may have access to WP-Toolkit if your websites are hosted in cPanel (Look for "WordPress Management" in the left menu bar) or Plesk (Look for "WordPress" in the left menu bar). You can perform one-click update of your WordPress websites inside WP-Toolkit. You will also have the ability to configure automatic updates in WP-Toolkit.
+
+If your websites are hosted in a WP Squared server, you will see a notification and a button to perform one-click update of your WordPress website when a new update is available. Automatic update is enabled by default, and you have the ability to configure whether to enable or disable automatic updates in WP Squared.
+
+_Hosting providers: If your tools are missing here, feel free to create a pull request in Github to add it._
+
+### Manual Upgrade {#manual-upgrade}
#### Overview of the Upgrade Process {#overview-of-the-upgrade-process}
@@ -17,7 +35,6 @@ This page contains a more detailed version of [the upgrade instructions](https:/
7. [Delete the old WordPress files](https://developer.wordpress.org/advanced-administration/upgrade/upgrading/#step-7-delete-the-old-wordpress-files) on your site, but **DO NOT DELETE**
– `wp-config.php` file;
– `wp-content` folder; Special Exception: the `wp-content/cache` and the `wp-content/plugins/widgets` folders should be deleted.
- – `wp-images` folder;
– `.htaccess` file–if you have added custom rules to your `.htaccess`, do not delete it;
– `robots.txt` file–if your blog lives in the root of your site (ie. the blog is the site) and you have created such a file, do not delete it.
@@ -40,129 +57,206 @@ If you plan on upgrading across more than **two** major releases, you should c
WordPress 3.7 introduced an easy to use one-button updater which will take you directly to Current Version. This update step is safe, and it is possible to one-click update from 3.7 to any later version.
-##### Step 1: Back up your database {#step-1-back-up-your-database}
+##### Upgrading from WordPress 0.7 - 3.6 (by migration)
-Perform a backup of your database. All of your WordPress data, such as Users, Posts, Pages, Links, and Categories, are stored in your [MySQL](https://wordpress.org/documentation/article/glossary#mysql) [database](https://codex.wordpress.org/Database_Description). Please read [Backing Up Your Database](https://wordpress.org/article/backing-up-your-database/) for a detailed explanation of this process.
+Goals:
+- WordPress: upgrade to WordPress 6.2
+- PHP: upgrade to PHP 7.4
+- SQL: upgrade to MySQL 8.0 / MariaDB 10.11
-It is extremely important to back up your database before beginning the upgrade. If, for some reason, you find it necessary to revert back to the ‘old' version of WordPress, you may have to restore your database from these backups.
+Losses:
+- Content: none
+- Plugins: all
+- Themes: all
-##### Step 2: Back up ALL your WordPress files {#step-2-back-up-all-your-wordpress-files}
+These are the oldest versions of WordPress and the ones that have not been supported for years. In general, have to assume some losses, although not of the contents, but probably of some functionality on themes and plugins.
-Back up ALL of your files in your WordPress directory and your [`.htaccess`](https://wordpress.org/documentation/article/wordpress-glossary/#.htaccess) file. Typically, this process involves using an [FTP program](https://developer.wordpress.org/advanced-administration/upgrade/ftp/) to download ALL your WordPress files from your host to your local computer.
+Considering that the goal is to keep the contents and assuming the loss of the rest of the elements, there are some steps.
-Please read [Backing Up Your WordPress Site](https://developer.wordpress.org/advanced-administration/security/backup/#backing-up-your-wordpress-site) for further explanation.
+As with any upgrade, the first thing to do is to make a backup copy. The best way to upgrade from WP < 3.6 is to perform a content migration.
-If you have made changes to any core WordPress files, or if you've got customized Plugins or Themes, you will want to have a good backup of those files. It is extremely important to back up your files before beginning the upgrade. If for some reason you find it necessary to revert back to the ‘old' version of WordPress you will need to upload these files.
+1. Create a brand-new WordPress, without the database.
+2. Copy the old WordPress files from the "/wp-content/uploads/" content to the new one.
+3. Create a new database with the old database information. The best way is using "mysqldump".
+4. Configure the wp-config.php with all the new data.
+5. Access the "/wp-admin/" page, and follow the upgrading process.
-##### Step 3: Verify the backups {#step-3-verify-the-backups}
+With this way, WordPress will be able to maintain and update the contents in the database and be able to work with these contents in an updated version of WordPress.
-Verify that the backups you created are there and usable. **This is the most important step in the upgrade process!**
+A WordPress with the default theme, and all the contents should now be available.
-The verification process involves making sure you can see the backup files on your local computer (or wherever you've stored them) and that you can navigate into any sub-folders. If the files are in a zip file, make sure you can open the zip file. Also consider opening a _.sql_ file in an [editor](https://wordpress.org/documentation/article/glossary#text-editor) to see if the tables and data are represented.
+Character Encoding commonly presents technical hiccups when restoring a database. It is possible that backup data is not encoded in UTF-8 and instead may be in an ISO or ASCII "deprecated" format. Make sure that the character encoding is updated correctly upon restoring a database! More information on [converting Character Sets in a WordPress database can be found here](https://codex.wordpress.org/Converting_Database_Character_Sets).
-##### Step 4: Deactivate ALL your Plugins {#step-4-deactivate-all-your-plugins}
+##### Upgrading from WordPress 3.7 - 4.0
-In your [Administration Screen](https://wordpress.org/documentation/article/administration-screens/), under the Plugins choice, deactivate any Plugins. Because of the changes to WordPress, some Plugins may conflict with the upgrade process. If you're not able to access the administrative menus you can deactivate all plugins by [resetting the plugins folder](https://wordpress.org/documentation/article/faq-troubleshooting/#how-to-deactivate-all-plugins-when-not-able-to-access-the-administrative-menus).
+Goals
+- WordPress: upgrade to WordPress 4.1
+- PHP: upgrade to PHP 5.6.20+
+- SQL: upgrade to MySQL 5.6 / MariaDB 10.0
-##### Step 5: Ensure first four steps are completed {#step-5-ensure-first-four-steps-are-completed}
+Losses:
+- Content: none
+- Plugins: probably yes
+- Themes: probably yes
-If you have not completed the first four procedures, STOP, and do them! Do not attempt the upgrade unless you have completed the first four steps.
+WordPress Versions <= 4.0 are compatible with PHP versions that are hardly available today. They can range from PHP 5.2 (or even earlier) to PHP 5.5. That is why the main goal will be to go to a version that is still easy to get on many operating systems.
-The best resource for problems with your upgrade is the [WordPress Support Forums](https://wordpress.org/support/forums/), and if you have problems, the volunteers at the [WordPress Support Forums](https://wordpress.org/support/forums/) will likely ask if you have completed the first four steps.
+The same will happen with the database. It is very likely that there is a MySQL 5.5 or earlier. Depending on whether want to continue with MySQL or move to MariaDB, choose which way to go and migrate the database to a MySQL 5.6 or MariaDB 10.0.
-##### Step 6: Download and extract the WordPress package {#step-6-download-and-extract-the-wordpress-package}
+Note that WP-CLI is not available for PHP versions lower than PHP 5.6.20, so this process still must be done somewhat manually.
-Download and unzip the WordPress package from [https://wordpress.org/download/](https://wordpress.org/download/).
+As with any upgrade, the first thing to do is to make a backup copy.
-* If you will be uploading WordPress to a remote web server, download the WordPress package to your computer with your favorite web browser and unzip the package.
-* If you have [shell](https://wordpress.org/documentation/article/glossary#shell) access to your web server, and are comfortable using console-based tools, you may wish to download WordPress directly to your [web server](https://wordpress.org/documentation/article/glossary#web-server). You can do so using `wget` , `lynx` or another console-based web browser, which are valuable if you want to avoid [FTPing](https://wordpress.org/documentation/article/wordpress-glossary/#FTP). Place the package in a directory parallel to your current wordpress directory (like "uploads," for example). Then, unzip it using: `gunzip -c wordpress-_Version_.tar.gz | tar -xf -` or by using: `tar -xzvf latest.tar.gz`
+Remove all themes that are not active, leaving only the main theme. If there is a child theme active, please, maintain the child and parent.
-The WordPress package will be extracted into a folder called `wordpress`.
+Install and activate the [Twenty Ten](https://wordpress.org/themes/twentyten/) theme and activate it. This theme works in all sites since WordPress 3.7.
-##### Step 7: Delete the old WordPress files {#step-7-delete-the-old-wordpress-files}
+In the same way, delete all deactivated plugins (and, therefore, not working).
-**Why Delete?** Generally, it is a good idea to delete whatever is possible because the uploading (or upgrading through cPanel) process may not correctly overwrite an existing file and that may cause problems later.
+Deactivate all left active plugins.
-**DO NOT DELETE these folders and files:**
+Now, WordPress will have:
+- Core: any version (between WordPress 3.7 and WordPress 4.0)
+- Themes: Twenty Ten is active, and the main theme is deactivated.
+- Plugins: all plugins that should be active are deactivated.
-* `wp-config.php` file;
-* `wp-content` folder;
-* `wp-includes/languages/` folder–if you are using a language file, and it is here rather than in `wp-content/languages/`, do not delete this folder (you might want to move your language files to `wp-content/languages/` for easier upgrading in the future);.
-* `.htaccess` file–if you have added custom rules to your `.htaccess`, do not delete it;
-* Custom Content and/or Plugins–if you have any images or other custom content or Plugins inside the `wp-content` folder, do NOT delete them.
+At this point, overwrite the WordPress Core with [WordPress 4.1](https://wordpress.org/wordpress-4.1.zip), available in the [release list](https://wordpress.org/download/releases/). Install WordPress 4.1 major version or, if available and recommended, the latest 4.1.x minor version.
-**Delete these Files and Folders:**
+Upgrade the systems up to PHP 5.6.20+ and MySQL 5.6.x or MariaDB 10.0.x. Please, do not install the newest major version.
-* `wp-*` (except for those above), `readme.html`, `wp.php`, `xmlrpc.php`, and `license.txt` files; Typically files in your root or wordpress folder. Again, don't delete the `wp-config.php` file. **Note**: some files may not exist in later versions.
-* `wp-admin` folder;
-* `wp-includes` folder;
-* `wp-content/plugins/widgets` folder; You only see this folder if you previously installed the Sidebar Widgets plugin. The Sidebar Widgets code conflicts with the built-in widget ability.
+Access the "/wp-admin/" page, and follow the upgrading process.
-**How to Delete?** There are several ways to delete the files from your WordPress site. You can use your FTP Client, or if you have access to SSH you can use that. Some host providers also provide the ability to delete files and folders.
+WordPress will be able to maintain and update the contents in the database and be able to work with these contents. WordPress, with the default theme and all the contents should now be available and working.
-**Using FTP to delete files and folders**
+Character Encoding commonly presents technical hiccups when restoring a database. It is possible that backup data is not encoded in UTF-8 and instead may be in an ISO or ASCII "deprecated" format. Make sure that the character encoding is updated correctly upon restoring a database! More information on [converting Character Sets in a WordPress database can be found here](https://codex.wordpress.org/Converting_Database_Character_Sets).
-The same [FTP client](https://developer.wordpress.org/advanced-administration/upgrade/ftp/) you use for [uploading](https://developer.wordpress.org/advanced-administration/upgrade/ftp/filezilla/) can be used to delete files and folders. If your [FTP client](https://developer.wordpress.org/advanced-administration/upgrade/ftp/) does not appear to permit you to delete non-empty folders, check the available options for your [FTP client](https://developer.wordpress.org/advanced-administration/upgrade/ftp/). You'll usually find an option that permits deleting non-empty folders. Deleting non-empty folders is a quick and thorough method cleaning out an old installation of WordPress. It is recommended that once the deleting is done, you switch back to the original setting for safety reasons.
+Proceed to the next step, which is upgrade to WordPress 4.9 from WordPress 4.1.
-**Using SSH to delete file**
+##### Upgrading from WordPress 4.1 - 4.8
-If you have a command-line login (ssh), you can enter the following commands to make backup copies of the files you need to keep and to delete ONLY the wordpress files in your directory (plus .htaccess). If you've customized other files (like `index.php`) not included by the `cp` commands below, copy them as well:
+Goals
+- WordPress: upgrade to WordPress 4.9
+- PHP: upgrade to PHP 7.2
+- SQL: maintain or upgrade to MySQL 5.6 / MariaDB 10.0
-```
-$ mkdir backup
-cp wp-config.php .htaccess backup
-cp -R wp-content backup
-rm wp*.php .htaccess license.txt readme.html xmlrpc.php
-rm -rf wp-admin wp-includes
-cp backup/wp-config.php .
-```
+Losses:
+- Content: none
+- Plugins: probably yes
+- Themes: probably yes
+
+_If you don't have PHP 5.6.20+ configured yet, do it. Chances are that everything will still work normally._
+
+From WordPress 4.1 and PHP 5.6.20+, you can continue with the manual update process, or start using [WP-CLI](https://wp-cli.org/), the tool to run WordPress commands directly via console, something that can easy the process.
+
+As with any upgrade, the first thing to do is to make a backup copy.
+
+Remove all themes that are not active, leaving only the main theme. If there is a child theme active, please, maintain the child and parent.
+
+Install and activate the [Twenty Ten](https://wordpress.org/themes/twentyten/) theme and activate it. This theme works in all sites since WordPress 3.7.
+
+In the same way, delete all deactivated plugins (and, therefore, not working).
-After you have finished with the upgrade, you can restore any customizations to your templates or plugins from your backup directory. For example, use `cp backup/index.php .` to restore `index.php`.
+Now, WordPress will have:
+- Core: any version (between WordPress 4.1 and WordPress 4.8)
+- Themes: Twenty Ten is active, and the main theme is deactivated.
+- Plugins: all plugins that should be active are deactivated.
-Alternatively, using SSH, you could copy `wp-config.php, .htaccess`, and any content files you've added or altered into the _new_ wordpress directory. Then, rename the old one (to archive it), and move the new one into its place.
+At this point, overwrite the WordPress Core with [WordPress 4.9](https://wordpress.org/wordpress-4.9.zip), available in the [release list](https://wordpress.org/download/releases/). Install WordPress 4.9 major version or, if available and recommended, the latest 4.9.x minor version.
-##### Step 8: Upload the new files {#step-8-upload-the-new-files}
+Upgrade the systems up to PHP 7.2 and, if they are not already, to MySQL 5.6.x or MariaDB 10.0.x. Please, do not install the newest major version.
-With the new upgrade on your local computer, and using [FTP](https://wordpress.org/documentation/article/glossary#ftp), [upload](https://developer.wordpress.org/advanced-administration/upgrade/ftp/filezilla/) the new files to your site server just as you did when you first installed WordPress. See [Using FileZilla](https://developer.wordpress.org/advanced-administration/upgrade/ftp/filezilla/) and [Uploadi](https://codex.wordpress.org/Uploading_WordPress_to_a_remote_host)[n](https://developer.wordpress.org/advanced-administration/upgrade/ftp/filezilla/)[g WordPress to a remote host](https://codex.wordpress.org/Uploading_WordPress_to_a_remote_host) for detailed guidelines in using an FTP Client to upload.
+Access the "/wp-admin/" page, and follow the upgrading process.
-**NOTE: If you did not delete the `wp-content` folder, you will need to overwrite some files during the upload.**
+WordPress will be able to maintain and update the contents in the database and be able to work with these contents. WordPress, with the default theme and all the contents should be available and working.
-The `wp-content` folder holds your WordPress Themes and Plugins. These should remain. Upload everything else first, then upload only those WordPress files that are new or changed to your new `wp-content` folder. Overwrite any old versions of default plugins with the new ones.
+Character Encoding commonly presents technical hiccups when restoring a database. It is possible that backup data is not encoded in UTF-8 and instead may be in an ISO or ASCII "deprecated" format. Make sure that the character encoding is updated correctly upon restoring a database! More information on [converting Character Sets in a WordPress database can be found here](https://codex.wordpress.org/Converting_Database_Character_Sets).
-The WordPress default theme has changed so you will want to upload the `wp-content/themes/default` folder. If you have custom changes to the default theme, those changes will need to be reviewed and installed after the upgrade.
+Proceed to the next step, which is upgrade to WordPress 5.3 from WordPress 4.9.
-##### Step 9: Run the WordPress upgrade program {#step-9-run-the-wordpress-upgrade-program}
+##### WordPress 4.9 - 5.2
-Using a web browser, go to the WordPress admin pages at the normal /wp-admin location. WordPress will check to see if a database upgrade is necessary, and if it is, it will give you a new link to follow.
+Goals
+- WordPress: upgrade to WordPress 5.3
+- PHP: upgrade to PHP 7.4
+- SQL: maintain or upgrade to MySQL 8.0 / MariaDB 10.3
-This link will lead you to run the WordPress upgrade script by accessing `wp-admin/upgrade.php`. Follow the instructions presented on your screen.
+Losses:
+- Content: none
+- Plugins: probably no
+- Themes: probably no
-Note: Make sure the database user name registered to WordPress has permission to create, modify, and delete database tables before you do this step. If you installed WordPress in the standard way, and nothing has changed since then, you are fine.
+_If you don't have PHP 7.4 configured yet, do it. Chances are that everything will still work normally._
-If you want to run the upgrade script manually:
+WordPress 4.9 was the last version with the Classic Editor, so, a lot of people, afraid of the new editor, stopped updating WordPress. WordPress 5.0+ is fully compatible with the Classic Editor content, so it can be upgraded without losing any content.
-* If WordPress is installed in the root directory, point your browser to: http://example.com/wp-admin/upgrade.php
-* If WordPress is installed in its own subdirectory called `blog`, for example, point your browser to: http://example.com/blog/wp-admin/upgrade.php
+Also, when WordPress 4.9 was released, PHP 7.0+ was very stablished and WordPress 5.0 version had support. Upgrading from PHP 5.6.20+ to PHP 7.0+ should be very stable.
-If you experience difficulties with login after your upgrade, it is worth clearing your browser's cookies.
+From WordPress 4.9, you can continue with the manual update process, or start using [WP-CLI](https://wp-cli.org/), the tool to run WordPress commands directly via console, something that can ease the process.
-##### Step 10: Update Permalinks and .htaccess {#step-10-update-permalinks-and-htaccess}
+As with any upgrade, the first thing to do is to make a backup copy.
-In your [Administration Screen](https://wordpress.org/documentation/article/administration-screens/) > [Settings](https://wordpress.org/documentation/article/administration-screens/#permalinks) > [Permalinks](https://wordpress.org/documentation/article/settings-permalinks-screen/) screen update your Permalink Structure and, if necessary, place the rules in your [`.htaccess`](https://wordpress.org/documentation/article/wordpress-glossary/#.htaccess) file. Also see [Using Permalinks](https://wordpress.org/documentation/article/using-permalinks/) for details regarding Permalinks and the [`.htaccess`](https://wordpress.org/documentation/article/wordpress-glossary/#.htaccess) file.
+Remove all themes that are not active, leaving only the main theme. If there is a child theme active, please, maintain the child and parent.
-##### Step 11: Install updated Plugins and Themes {#step-11-install-updated-plugins-and-themes}
+Install and activate the [Twenty Ten](https://wordpress.org/themes/twentyten/) theme and activate it. This theme works in all sites since WordPress 3.7.
-Please visit individual plugin and theme pages and look for the compatibility information with your new WordPress version. Install new versions of your Plugins and Themes, if necessary.
+In the same way, delete all deactivated plugins.
-##### Step 12: Reactivate Plugins {#step-12-reactivate-plugins}
+Now, WordPress will have:
+- Core: any version (between WordPress 4.9 and WordPress 5.2)
+- Themes: Twenty Ten is active, and the main theme is deactivated.
+- Plugins: all plugins that should be active are deactivated.
-Use your Administration Screen, Plugins, to activate your Plugins. If you are not sure if they will work correctly with the new version, activate each plugin, one at a time, and test that there are no problems before continuing.
+At this point, overwrite the WordPress Core with [WordPress 5.3](https://wordpress.org/wordpress-5.3.zip), available in the [release list](https://wordpress.org/download/releases/). Install WordPress 5.3 major version or, if available and recommended, the latest 5.3.x minor version.
-##### Step 13: Review what has changed in WordPress {#step-13-review-what-has-changed-in-wordpress}
+Upgrade the systems up to PHP 7.4 and, if they are not already, to MySQL 8.0.x or MariaDB 10.3.x. Please, do not install the newest major version.
-Please review these resources to see what's new in WordPress:
+Access the "/wp-admin/" page, and follow the upgrading process.
-* [Version history](https://codex.wordpress.org/WordPress_Versions)
+WordPress will be able to maintain and update the contents in the database and be able to work with these contents.
+
+Getting this moment, make a new backup copy, because some more updates will be made and, at this point, there is a good WordPress situation.
+
+Most of the plugins available in WordPress 4.9+ should work with WordPress 5.3, so try to update everything available in the plugin list. Please, do it one by one and check all the warnings and errors. If you get some big error, try an older release for this plugin. Usually they are at the end of the "Developer" tab in each plugin page at wordpress.org.
+
+Try the same with the theme. Most of the themes available in WordPress 4.9+ should work with WordPress 5.3.
+
+Proceed to the next step, which is upgrade to WordPress 6.2 from WordPress 5.3.
+
+##### WordPress 5.3 - 6.2
+
+Goals
+- WordPress: upgrade to WordPress 6.2
+- PHP: upgrade to PHP 7.4
+- SQL: maintain or upgrade to MySQL 8.0 LTS / MariaDB 10.11 LTS
+
+Losses:
+- Content: none
+- Plugins: probably no
+- Themes: probably no
+
+_If you don't have PHP 7.4 configured yet, do it. Chances are that everything will still work normally._
+
+Upgrade everything normally. Everything should work fine.
+
+##### WordPress 6.3 - 6.8
+
+Goals
+- WordPress: upgrade to WordPress 6.8
+- PHP: upgrade to at least PHP 8.1 (WordPress 6.6+ supports PHP 8.2)
+- SQL: maintain or upgrade to MySQL 8.0 LTS / MariaDB 10.11 LTS
+
+Losses:
+- Content: none
+- Plugins: probably no
+- Themes: probably no
+
+_If you don't have PHP 8.1 configured yet, do it. Chances are that everything will still work normally._
+
+When WordPress 6.3 was released, support for PHP 5.6 dropped and PHP 7.0 was stablished as the minimum PHP version. Upgrading from PHP 5.6.20+ to PHP 7.0+ should be very stable.
+
+When WordPress 6.6 was released, support for PHP 7.0 and 7.1 dropped and PHP 7.2.24 was stablished as the minimum PHP version. Upgrading from PHP 7.0+, or PHP 7.1+ to PHP 7.2+ should be very stable. WordPress 6.6 also supports PHP 8.2 so you can try switching to PHP 8.2 when upgraded WordPress.
+
+Upgrade everything normally. Everything should work fine.
### Troubleshooting {#troubleshooting}
@@ -184,7 +278,7 @@ You can, but it is usually not recommended to rollback (revert) your current ver
**Get More Help**
-If you get any errors following an upgrade, check [Troubleshooting: Common Installation Problems](https://developer.wordpress.org/advanced-administration/before-install/howto-install/#common-installation-problems), [Troubleshooting](https://codex.wordpress.org/Troubleshooting), and the [Installation Category of Articles](https://wordpress.org/documentation/category/installation/). If you can't find an answer, post a clear question on the [WordPress Suppport Forums](https://wordpress.org/support/forums/). You will be asked if you have used any old code. You'll be told to change it then, so you may as well change it now 🙂.
+If you get any errors following an upgrade, check [Troubleshooting: Common Installation Problems](https://developer.wordpress.org/advanced-administration/before-install/howto-install/#common-installation-problems), [Troubleshooting](https://codex.wordpress.org/Troubleshooting), and the [Installation Category of Articles](https://wordpress.org/documentation/category/installation/). If you can't find an answer, post a clear question on the [WordPress Support Forums](https://wordpress.org/support/forums/). You will be asked if you have used any old code. You'll be told to change it then, so you may as well change it now 🙂.
## Configuring Automatic Background Updates
@@ -360,9 +454,6 @@ apply_filters( 'auto_core_update_send_email', true, $type, $core_update, $result
### Resources {#resources}
* More examples at [https://make.wordpress.org/core/2013/10/25/the-definitive-guide-to-disabling-auto-updates-in-wordpress-3-7/](https://make.wordpress.org/core/2013/10/25/the-definitive-guide-to-disabling-auto-updates-in-wordpress-3-7/)
-* More information here: [http://wordpress.stackexchange.com/questions/120081/how-do-i-configure-automatic-updates-in-wordpress-3-7](http://wordpress.stackexchange.com/questions/120081/how-do-i-configure-automatic-updates-in-wordpress-3-7)
+* More information here: [How Do I Configure Automatic Updates in WordPress 3.7?](https://wordpress.stackexchange.com/questions/120081/how-do-i-configure-automatic-updates-in-wordpress-3-7)
* Info about wp-cli conflict: [https://github.com/wp-cli/wp-cli/issues/1310](https://github.com/wp-cli/wp-cli/issues/1310)
-## Changelog
-
-- 2022-10-25: Original content from [Configuring Automatic Background Updates](https://wordpress.org/documentation/article/configuring-automatic-background-updates/), and [Upgrading WordPress – Extended Instructions](https://wordpress.org/documentation/article/upgrading-wordpress-extended-instructions/).
diff --git a/wordpress/common-errors.md b/wordpress/common-errors.md
index 0733da86..f5911480 100644
--- a/wordpress/common-errors.md
+++ b/wordpress/common-errors.md
@@ -58,7 +58,7 @@ Contact your hosting provider to see if either of these issues is causing your p
If you have checked `wp-config.php` for errors, and confirmed with your host for hosting issues, it is possible that your site has been hacked.
-Scan your site with [Sucuri SiteCheck](http://sitecheck.sucuri.net/) to ensure that it hasn't been compromised. If it has you should check out [My Site was Hacked](https://wordpress.org/documentation/article/faq-my-site-was-hacked/).
+Scan your site with [Sucuri SiteCheck](https://sitecheck.sucuri.net/) to ensure that it hasn't been compromised. If it has you should check out [My Site was Hacked](https://wordpress.org/documentation/article/faq-my-site-was-hacked/).
## Failed Auto-Upgrade {#failed-auto-upgrade}
@@ -130,6 +130,16 @@ You may experience problems with 404 errors and [custom post types](https://word
1. Make sure that none of your Custom Post Types and single pages have the same name. If they do, rename the single page, including the [slug](https://wordpress.org/documentation/article/glossary/#post-slug).
2. Log in to your WordPress Administration Screens, navigate to **Settings > Permalinks**. Select the default permalinks. Save. Then reselect your preferred permalinks. This will flush the rewrite rules and should solve your problem.
+## Critical Error Message {#critical-error-message}
+
+If you come across the message "There has been a critical error on this website. Please check your site admin email inbox for instructions.", this indicates that something in your site has caused a critical error that prevents WordPress from running as expected.
+
+First, check your email to see if WordPress has sent you any details about the error. Next, enable debug mode in your [wp-config.php](https://developer.wordpress.org/advanced-administration/debug/debug-wordpress/#example-wp-config-php-for-debugging) file.
+
+After enabling this, review the error logs located in wp-content/debug.log to find out what specifically went wrong.
+
+Some of the most common causes you might uncover include conflicts between plugins, compatibility issues with your theme, running an incompatible PHP version, hitting the memory limit, or having corrupted WordPress files.
+
## Specific Error Messages {#specific-error-messages}
There are a number of different errors that will appear in your error logs. To access your error logs you will need to turn on [debugging](https://wordpress.org/documentation/article/editing-wp-config-php/#wp_debug) and then locate your error log via FTP. The following information will help you to decipher some of the common error messages.
@@ -272,12 +282,9 @@ If you have not used phpMyAdmin before, or are uncomfortable doing so, contact y
An unknown column error can be caused by a missing column in the database. If you have just upgraded WordPress then try manually upgrading again. To update your WordPress site manually, see the [Update article](https://wordpress.org/documentation/article/updating-wordpress/#manual-update).
-If you are running a database query when you encounter the error then you may by using incorrect quotation marks for the identifier quote character. This [question on Stack Overflow provides more details](https://stackoverflow.com/questions/1346209/unknown-column-in-field-list-error-on-mysql-update-query). Also see the [MySQL documentation](http://dev.mysql.com/doc/refman/en/identifiers.html).
+If you are running a database query when you encounter the error then you may by using incorrect quotation marks for the identifier quote character. This [question on Stack Overflow provides more details](https://stackoverflow.com/questions/1346209/unknown-column-in-field-list-error-on-mysql-update-query). Also see the [MySQL documentation](https://dev.mysql.com/doc/refman/8.2/en/identifiers.html).
## Resources {#resources}
-* [MySQL Error Codes and Messages](http://dev.mysql.com/doc/refman/en/error-messages-server.html)
-
-## Changelog
+* [MySQL Error Codes and Messages](https://dev.mysql.com/doc/refman/en/error-messages-server.html)
-- 2023-01-20: Copy content from [Common WordPress Errors](https://wordpress.org/documentation/article/common-wordpress-errors/)
diff --git a/wordpress/cookies.md b/wordpress/cookies.md
index e93ac48a..848a847c 100644
--- a/wordpress/cookies.md
+++ b/wordpress/cookies.md
@@ -24,17 +24,17 @@ After login, WordPress sets the `wordpress_logged_in_[hash]` cookie, which indic
WordPress also sets a few `wp-settings-{time}-[UID]` cookies. The number on the end is your individual user ID from the users database table. This is used to customize your view of admin interface, and possibly also the main site interface.
-The cookies length can be adjusted with the `auth_cookie_expiration` hook. An example of this can be found at [what's the easiest way to stop wp from ever logging me out](https://wordpress.stackexchange.com/questions/515/whats-the-easiest-way-to-stop-wp-from-ever-logging-me-out).
+The cookies lifetime can be adjusted with the `auth_cookie_expiration` hook. An example of this can be found at [what's the easiest way to stop wp from ever logging me out](https://wordpress.stackexchange.com/questions/515/whats-the-easiest-way-to-stop-wp-from-ever-logging-me-out).
### Non-Version-Specific Data
-The actual cookies contain _hashed_ data, so you don't have to worry about someone gleaning your username and password by reading the cookie data. A _hash_ is the result of a specific mathematical formula applied to some input data (in this case your `user name` and `password`, respectively). It's quite hard to reverse a _hash_ (bordering on practical infeasibility with today's computers). This means it is very difficult to take a _hash_ and _"unhash"_ it to find the original input data.
+The actual cookies contain your username, the expiration time and _hashed_ data that ensures you have a valid session. A _hash_ is the result of a specific mathematical formula applied to some data. In case of these cookies, only 4 characters of your hashed password are stored in a hash in your cookie. This ensures that it is impossible to retrieve your password from the cookie. It also ensures that any cookie will invalidated whenever your password is changed.
WordPress uses the two cookies to bypass the password entry portion of `wp-login.php`. If WordPress recognizes that you have valid, non-expired cookies, you go directly to the [WordPress Administration Screen](https://wordpress.org/documentation/article/administration-screens). If you don't have the cookies, or they're expired, or in some other way invalid (like you edited them manually for some reason), WordPress will require you to log in again, in order to obtain new cookies.
## Commenter's Cookie
-When visitors comment on your blog, they get cookies stored on their computer too. This is purely a convenience, so that the visitor won't need to re-type all their information again when they want to leave another comment. Three cookies are set for commenters:
+When visitors comment on your blog, they get cookies stored on their computers too. This is purely a convenience, so that the visitor won't need to re-type all their information again when they want to leave another comment. Three cookies are set for commenters:
- `comment_author_{HASH}`
- `comment_author_email_{HASH}`
@@ -42,13 +42,19 @@ When visitors comment on your blog, they get cookies stored on their computer to
The commenter cookies are set to expire a little under one year from the time they're set.
-## References
+## WordPress Test Cookie
+
+WordPress will set a temporary cookie named `wordpress_test_cookie` which is to probe the ability of WordPress to set cookies. If writing this cookie fails, you will get the following error message "Cookies are blocked or not supported by your browser."
+
+In case you get this after moving your website, always try to delete your cookies and if you are using a caching plugin, the server cache. This will solve temporary issues.
-- [Wikipedia: Cookies](http://en.wikipedia.org/wiki/HTTP_cookie)
-- [RFC2965](http://www.faqs.org/rfcs/rfc2965)
-- [PHP cookie documentation](http://www.php.net/manual/en/features.cookies.php)
+## Language Cookie
+
+WordPress allows you to alter the language of all translatable strings on login. For this measure WordPress will set a cookie named `wp_lang` which is a session cookie and will store the language key of the selected language.
+
+## References
-## Changelog
+- [Wikipedia: Cookies](https://en.wikipedia.org/wiki/HTTP_cookie)
+- [RFC2965](http://www.faqs.org/rfcs/rfc2965.html)
+- [PHP cookie documentation](https://www.php.net/manual/en/features.cookies.php)
-- 2022-09-20: Minor adjustments.
-- 2022-09-11: Original content from [Cookies](https://wordpress.org/documentation/article/cookies/); added minor adjustments.
diff --git a/wordpress/css.md b/wordpress/css.md
index 70a90558..373c1ac8 100644
--- a/wordpress/css.md
+++ b/wordpress/css.md
@@ -187,6 +187,3 @@ If you are having some problems or questions about your WordPress Theme or layou
* [Conditional Comment CSS](https://codex.wordpress.org/Conditional_Comment_CSS)
* [Validating a Website](https://codex.wordpress.org/Validating_a_Website)
-## Changelog
-
-- 2022-09-04: Original content from [CSS](https://wordpress.org/documentation/article/css/); ticket [Github](https://github.com/WordPress/Documentation-Issue-Tracker/issues/424).
diff --git a/wordpress/edit-files.md b/wordpress/edit-files.md
index 59e10cfb..626527c9 100644
--- a/wordpress/edit-files.md
+++ b/wordpress/edit-files.md
@@ -88,12 +88,13 @@ Editors to avoid include any do-it-yourself instant web page software (like Adob
The following [text editors](https://wordpress.org/documentation/article/wordpress-glossary/#text-editor) are acceptable for file editing:
-* [BBEdit](https://www.barebones.com/products/bbedit/) (Mac, $)
+* [BBEdit](https://www.barebones.com/products/bbedit/) (Mac, Free)
* [Crimson Editor](http://www.crimsoneditor.com/) (Windows, Free)
+* [CodeLobster](https://codelobster.com/) (Mac, Linux, Windows, Free)
* [EditPad](https://www.editpadpro.com/) (Windows)
* [EditPlus](https://www.editplus.com/) (Windows)
* [emacs](https://www.gnu.org/software/emacs/emacs.html) (Mac, Linux, Windows) Open-Source, Free
-* [JEdit](http://jedit.org/) (Mac, Linux, Windows)
+* [JEdit](https://jedit.org/) (Mac, Linux, Windows)
* [Notepad++](https://notepad-plus-plus.org/) (Windows) Open-Source, Free
* [PSPad](https://www.pspad.com/) (Windows) Free
* [Smultron](https://www.peterborgapps.com/smultron/) (Mac) $
@@ -106,7 +107,3 @@ The following [text editors](https://wordpress.org/documentation/article/wordpre
* [Visual Studio Code](https://code.visualstudio.com/) (Mac, Linux, Windows)
* [NetBeans](https://netbeans.apache.org/) (Mac, Linux, Windows)
-## Changelog
-
-- 2023-01-20: Updated broken links. Removed non-existing text editors.
-- 2022-09-11: Original content from [Editing Files](https://wordpress.org/documentation/article/editing-files/).
\ No newline at end of file
diff --git a/wordpress/feeds.md b/wordpress/feeds.md
index 2605e1b0..0724cba8 100644
--- a/wordpress/feeds.md
+++ b/wordpress/feeds.md
@@ -2,68 +2,68 @@
## WordPress Built-in Feeds {#wordpress-built-in-feeds}
-By default, WordPress comes with various feeds. They are generated by template tag for [bloginfo()](https://developer.wordpress.org/reference/functions/bloginfo/) for each type of feed and are typically listed in the sidebar and/or footer of most WordPress Themes. They look like this:
+By default, WordPress comes with various feeds. They are generated by template tag for [bloginfo()](https://developer.wordpress.org/reference/functions/bloginfo/) for each type of feed and are typically listed in the sidebar and/or footer of most WordPress Themes. They look like this:
-URL for [RDF/RSS 1.0 feed](https://web.resource.org/rss/1.0/)
+URL for [RDF/RSS 1.0 feed](https://web.resource.org/rss/1.0/)
```
-
+
```
-URL for [RSS 0.92 feed](https://www.rssboard.org/rss-0-9-2)
+URL for [RSS 0.92 feed](https://www.rssboard.org/rss-0-9-2)
```
-
+
```
-URL for [RSS 2.0 feed](https://www.rssboard.org/rss-specification)
+URL for [RSS 2.0 feed](https://www.rssboard.org/rss-specification)
```
-
+
```
-URL for [Atom feed](http://www.atomenabled.org/)
+URL for [Atom feed](http://www.atomenabled.org/)
```
-
+
```
-URL for comments RSS 2.0 feed
+URL for comments RSS 2.0 feed
```
-
+
```
The first four feeds display recent updates and changes to your site's content for the different feedreaders. Of these, the RSS feeds are the most well known. The last feed example is used by RSS 2.0 feedreaders and does not show your site's content. It only shows the comments made on your site.
-To track the comments on a specific post, the [post_comments_feed_link()](https://developer.wordpress.org/reference/functions/post_comments_feed_link/) template tag is used on single post pages like this:
+To track the comments on a specific post, the [post_comments_feed_link()](https://developer.wordpress.org/reference/functions/post_comments_feed_link/) template tag is used on single post pages like this:
```
```
-There are ways to modify these feeds, and these are covered in the article on [Customizing Feeds](https://codex.wordpress.org/Customizing_Feeds).
+There are ways to modify these feeds, and these are covered in the article on [Customizing Feeds](https://codex.wordpress.org/Customizing_Feeds).
## Adding Feeds {#adding-feeds}
-Not all WordPress Themes feature all of the RSS Feed types that are available through WordPress. To add a feed to your site, find the location of where the other feeds are, typically in your sidebar.php or footer.php template files of your Theme. Then add one of the tags listed above to the list, like this example:
+Not all WordPress Themes feature all of the RSS Feed types that are available through WordPress. To add a feed to your site, find the location of where the other feeds are, typically in your sidebar.php or footer.php template files of your Theme. Then add one of the tags listed above to the list, like this example:
```
```
### Adding Graphics to Feed Links {#adding-graphics-to-feed-links}
-Many people like to have a graphic representing the feed instead of words. There are now [standards](http://www.feedicons.com/) for these graphics or "buttons", but you can [make your own](https://kalsey.com/tools/buttonmaker/) to match the look and colors on your site. 
+Many people like to have a graphic representing the feed instead of words. There are now [standards](http://www.feedicons.com/) for these graphics or "buttons", but you can [make your own](https://kalsey.com/tools/buttonmaker/) to match the look and colors on your site. 
To add a graphic to your feed link, simply wrap the link around the graphic such as:
```
-
+
```
### Changing Addresses {#changing-addresses}
@@ -84,5 +84,3 @@ Here is an example for MovableType Users:
RewriteRule ^index.xml(.*)? /wordpress/?feed=rss2 [QSA]
```
-## Changelog
-- 2023-01-20: Original content from [WordPress Feeds](https://wordpress.org/documentation/article/wordpress-feeds/), issue [#93](https://github.com/WordPress/Advanced-administration-handbook/issues/93).
diff --git a/wordpress/import.md b/wordpress/import.md
index d6791192..54be9fa7 100644
--- a/wordpress/import.md
+++ b/wordpress/import.md
@@ -34,16 +34,6 @@ You can import posts, comments, categories and authors from Blogger. WordPress i
5. Click "Choose File" and navigate to your Blogger XML file.
6. Click "Upload file and import".
-## Blogroll
-
-WordPress includes an import tool designed specifically for importing content from Blogroll.
-
-1. In your WordPress site, select Tools -> Import on the left nav of the admin screen.
-2. Under "Blogroll", if you haven't already installed the importer, click "Install Now".
-3. Click the "Run Importer" link.
-4. Click "Choose File" and navigate to your Blogroll OPML file.
-5. Click "Upload file and import".
-
## Drupal
Many resources are available to help you migrate content from Drupal to WordPress. A few are highlighted here, and you're likely to find many others by searching the web.
@@ -58,15 +48,6 @@ Here are some resources that can help guide you in importing XML or CSV content
* The [WP All Import](https://wordpress.org/plugins/wp-all-import/) plugin can import any XML or CSV file. It integrates with the [WP All Export](https://wordpress.org/plugins/wp-all-export/) plugin.
-## HTML
-
-WordPress includes an import tool designed specifically for importing content from static HTML pages.
-
-1. In your WordPress site, select Tools -> Import on the left nav of the admin screen.
-2. Under "HTML", click the "Run Importer" link.
-3. Click "Choose File" and navigate to your HTML file.
-4. Click "Upload file and import".
-
## Joomla
For Joomla you can use [FG Joomla to WordPress](https://wordpress.org/plugins/fg-joomla-to-wordpress/). This plugin has been tested with Joomla versions 1.5 through 4.0 on huge databases. It is compatible with multisite installations.
@@ -205,6 +186,3 @@ You will first be asked to map the authors in this export file to users on the b
[xanga.r](https://www.timwylie.com/xword.html) is a program that parses xanga pages to get the post and comments. Then it can output them in the WordPress rss 2.0 xml format for WordPress to import.
-## Changelog
-
-- 2023-04-25: Added content from [Importing Content](https://wordpress.org/documentation/article/importing-content/).
diff --git a/wordpress/index.md b/wordpress/index.md
index 25fa6a10..288db807 100644
--- a/wordpress/index.md
+++ b/wordpress/index.md
@@ -4,6 +4,3 @@
-## Changelog
-
-- 2022-08-16: Nothing here, yet.
diff --git a/wordpress/loopback.md b/wordpress/loopback.md
index eae4d95d..7bcb0d64 100644
--- a/wordpress/loopback.md
+++ b/wordpress/loopback.md
@@ -2,7 +2,7 @@
A loopback is when your own server or website tries to connect to it self.
-WordPress uses his functionality to trigger scheduled posts, and other scheduled events that plugins or themes may introduce.
+WordPress uses this functionality to trigger scheduled posts, and other scheduled events that plugins or themes may introduce.
They are also used when making changes in the Plugin- or Theme-editor, by connecting back to the website and making sure that the changes made does not break your website.
@@ -18,6 +18,3 @@ The most common cause of loopback failures is a plugin or theme conflict, you sh
* Switching to a Twenty-Something theme to rule out any theme-specific problems. If you can't log in to change themes, you can remove the theme folders via [SFTP/FTP](https://developer.wordpress.org/advanced-administration/upgrade/ftp/) so the only one is `twentytwentythree`. That will force your site to use it.
* If you can install plugins, install the plugin [Health Check](https://wordpress.org/plugins/health-check/). On the troubleshooting tab, you can click the button to disable all plugins and change the theme for you, while you're still logged in, **without affecting normal visitors to your site**.
-## Changelog
-
-- 2023-01-20: Content migrated from [Loopbacks](https://wordpress.org/documentation/article/loopbacks/).
diff --git a/wordpress/multilingual.md b/wordpress/multilingual.md
index 45bed8cb..5cebec54 100644
--- a/wordpress/multilingual.md
+++ b/wordpress/multilingual.md
@@ -1,19 +1,17 @@
# Multilingual WordPress
-WordPress does not support a bilingual or multilingual blog out-of-the-box. There are however Plugins developed by the WordPress community which will allow you to create a multilingual blog easily.
+WordPress currently does not support a bilingual or multilingual blog out-of-the-box. However, plugins developed by the WordPress community make it easy to create a multilingual blog. The fourth and final phase of the WordPress Gutenberg project will add core implementation for multilingual sites as listed in the [WordPress roadmap](https://wordpress.org/about/roadmap/).
-Creating a multilingual blog is basically installing WordPress in more than one language and letting the Plugin switch between them. This includes installing .mo languages files which most Plugins will require you to do manually. See [Installing WordPress in Your Language](https://developer.wordpress.org/advanced-administration/before-install/in-your-language/) for details.
-
-The free [WPGlobus](https://wordpress.org/plugins/wpglobus/), [Polylang](https://wordpress.org/plugins/polylang/), [qTranslate-X](https://wordpress.org/plugins/qtranslate-x/), [xili-language](https://wordpress.org/plugins/xili-language/) or [Sublanguage](https://wordpress.org/plugins/sublanguage/) plugins are installable on standalone WordPress sites. For multisite WordPress (one website per language), you can try [Multisite Language Switcher](https://wordpress.org/plugins/multisite-language-switcher/), [Zanto](https://wordpress.org/plugins/zanto/) or [Multilingual Press](https://wordpress.org/plugins/multilingual-press/) or purchase [WPML](https://wpml.org/).
+Creating a multilingual blog is basically installing WordPress in more than one language and letting the Plugin switch between them. This includes installing .mo languages files which most Plugins will require you to do manually. For more details, see [Installing WordPress in Your Language](https://developer.wordpress.org/advanced-administration/before-install/in-your-language/).
## Different types of multilingual plugins {#different-types-of-multilingual-plugins}
There are a few basic types of multilingual Plugins:
-1. Manage multilingual posts in one post per language (e.g. [WPML](https://wpml.org/) – paid, [xili-language](https://wordpress.org/plugins/xili-language/), [Polylang](https://wordpress.org/plugins/polylang/), [Bogo](https://wordpress.org/plugins/bogo/) or [Sublanguage](https://wordpress.org/plugins/sublanguage/)). Translations are then linked together, indicating that one page is the translation of another.
-2. Store all languages alternatives for each post in the same post (e.g. [qTranslate-X](https://wordpress.org/plugins/qtranslate-x/), [WPGlobus](https://wordpress.org/plugins/wpglobus/)).
-3. Manage translations on the generated page instead of using a post context (e.g. [Transposh](https://wordpress.org/plugins/transposh-translation-filter-for-wordpress) and [Global Translator](https://wordpress.org/plugins/global-translator/)).
-4. Plugins like [Multisite Language Switcher](https://wordpress.org/plugins/multisite-language-switcher/), [Multilingual Press](https://wordpress.org/plugins/multilingual-press/), and [Zanto](https://wordpress.org/plugins/zanto/), link together separate WordPress network (multisite) installations for each language by pinging back and forth.
+1. Manage multilingual posts in one post per language. Translations are then linked together, indicating that one post is the translation of another.
+2. Store all languages alternatives for each post in the same post.
+3. Manage translations on the generated page instead of using a post context.
+4. Link together separate WordPress sites in a network (multisite) installations for each language by pinging back and forth.
### One language per post {#one-language-per-post}
@@ -117,6 +115,3 @@ Since many multilingual plugins change the database significantly, doing a [data
* [WordPress in Your Language](https://developer.wordpress.org/advanced-administration/before-install/in-your-language/)
-## Changelog
-
-- 2022-10-25: Original content from [Multilingual WordPress](https://wordpress.org/documentation/article/multilingual-wordpress/).
diff --git a/wordpress/oembed.md b/wordpress/oembed.md
index 6a30a7f0..cd4ebb6f 100644
--- a/wordpress/oembed.md
+++ b/wordpress/oembed.md
@@ -34,7 +34,3 @@ However, if you feel you are knowledgeable enough to not require this level of s
The oEmbed discovery content for "link" and "photo" types is not quite so heavily filtered in this manner; however, it is properly escaped for security and to prevent any malicious content from being displayed on the site
-## Changelog
-
-- 2023-01-25: Review and Update Content. Linked list of whitelisted providers.
-- 2022-09-11: Added content from [oEmbed](https://docs.google.com/document/d/1ni59ohlSHeCH_BwRtxUXzGY1LLWqFiaaGQFcCjh_2rQ/).
diff --git a/wordpress/post-formats.md b/wordpress/post-formats.md
index 9eb67916..ae5c2ceb 100644
--- a/wordpress/post-formats.md
+++ b/wordpress/post-formats.md
@@ -158,6 +158,3 @@ You must also register the `post_format` taxonomy with [register_taxonomy()](htt
* [Smarter Post Formats?](https://dougal.gunters.org/blog/2010/12/10/smarter-post-formats/)
* [WordPress Theme Support Generator](https://generatewp.com/theme-support/)
-## Changelog
-
-- 2023-04-25: original content from [Post Formats](https://wordpress.org/documentation/article/post-formats/).
diff --git a/wordpress/site-architecture.md b/wordpress/site-architecture.md
index 1cd7500c..e004e970 100644
--- a/wordpress/site-architecture.md
+++ b/wordpress/site-architecture.md
@@ -196,7 +196,7 @@ Like the Classic Theme, this division sets up the style for post and the identif
Post Title
```
-This encompasses the post's title code, styled by the tag.
+This encompasses the post's title code, styled by the `` tag.
```
Date
@@ -262,11 +262,11 @@ Comments may be featured in the single post view (using the comments.php templat
- RSS feed for comments on this post.
- TrackBack URI
+ RSS feed for comments on this post.
+ TrackBack URI
-