<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>WordPress — LowEndSpirit</title>
        <link>https://lowendspirit.com/index.php?p=/</link>
        <pubDate>Mon, 20 Jul 2026 20:29:23 +0000</pubDate>
        <language>en</language>
            <description>WordPress — LowEndSpirit</description>
    <atom:link href="https://lowendspirit.com/index.php?p=/categories/wordpress/feed.rss" rel="self" type="application/rss+xml"/>
    <item>
        <title>Wordpress 7.0.2 security patch</title>
        <link>https://lowendspirit.com/index.php?p=/discussion/11074/wordpress-7-0-2-security-patch</link>
        <pubDate>Sat, 18 Jul 2026 04:55:09 +0000</pubDate>
        <category>WordPress</category>
        <dc:creator>bikegremlin</dc:creator>
        <guid isPermaLink="false">11074@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>An anonymous HTTP request can run code on a WordPress site.</p>

<p>ASAP update is advised to patch this WP core vulnerability:</p>

<p>Affected versions 6.9 (patched with 6.9.5 update) and 7.0 (patched with 7.0.2 update)</p>

<p>Article on the topic:<br />
<a href="https://thehackernews.com/2026/07/new-wp2shell-wordpress-core-flaw-lets.html" rel="nofollow">https://thehackernews.com/2026/07/new-wp2shell-wordpress-core-flaw-lets.html</a></p>
]]>
        </description>
    </item>
    <item>
        <title>Membership plugins</title>
        <link>https://lowendspirit.com/index.php?p=/discussion/10812/membership-plugins</link>
        <pubDate>Wed, 29 Apr 2026 13:59:48 +0000</pubDate>
        <category>WordPress</category>
        <dc:creator>imok</dc:creator>
        <guid isPermaLink="false">10812@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Any experience with freemium content and paywalls in Wordpress? What plugin do you recommend?</p>
]]>
        </description>
    </item>
    <item>
        <title>Is anyone running Extras for Elementor with Elementor 4?</title>
        <link>https://lowendspirit.com/index.php?p=/discussion/10813/is-anyone-running-extras-for-elementor-with-elementor-4</link>
        <pubDate>Wed, 29 Apr 2026 16:54:18 +0000</pubDate>
        <category>WordPress</category>
        <dc:creator>WSS</dc:creator>
        <guid isPermaLink="false">10813@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Long story short, until I can lobby hard enough to get rid of it (again), I've got a legacy site which has 57 fucking plugins.</p>

<p>Elementor 4 is out, but it's got the ancient Extras for Elementor plugin that it's heavily reliant on (and hasn't been updated since 2024).</p>

<p>Does anyone know if it works with Elementor 4? I don't really want to try since it's already known EoL.</p>
]]>
        </description>
    </item>
    <item>
        <title>Debian 13, minimum ram and disk, 38mb - Guide - Part 2 (running wordpress)</title>
        <link>https://lowendspirit.com/index.php?p=/discussion/10687/debian-13-minimum-ram-and-disk-38mb-guide-part-2-running-wordpress</link>
        <pubDate>Tue, 24 Mar 2026 15:24:12 +0000</pubDate>
        <category>WordPress</category>
        <dc:creator>AnthonySmith</dc:creator>
        <guid isPermaLink="false">10687@/index.php?p=/discussions</guid>
        <description><![CDATA[<h1>WordPress on Debian 13: Minimal VPS</h1>

<p>This guide installs a tuned WordPress stack on a minimised Debian 13 VPS, picking up from the end of the <a href="https://lowendspirit.com/discussion/10684/debian-13-minimum-ram-and-disk-38mb-guide-part-1-running-nothing#latest" rel="nofollow">https://lowendspirit.com/discussion/10684/debian-13-minimum-ram-and-disk-38mb-guide-part-1-running-nothing#latest</a> guide. Every command has been run on a real instance and the results recorded.</p>

<p>AI USE Declaration: md formatting, spelling, grammar done with Claude, the work and methods are my own.</p>

<p>The stack is Nginx with FastCGI caching, MariaDB 10.11 LTS, and PHP 8.4-FPM. The target is the lowest practical idle RAM footprint on a 256MB VPS without sacrificing WordPress compatibility.</p>

<hr />

<h2>Before</h2>

<p>End state of the Debian 13 minimisation guide.</p>

<pre><code>               total        used        free      shared  buff/cache   available
Mem:             213          38         141           0          41         174
Swap:              0           0           0
</code></pre>

<pre><code>Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1       2.8G  275M  2.4G  11% /
</code></pre>

<p>Even if you did not follow that guide, this should give you some ideas on reducing the footprint for your small WordPress setup.</p>

<hr />

<h2>Stage 1: Install MariaDB 10.11 LTS</h2>

<p>Debian 13 (trixie) ships MariaDB 11.8. This guide uses MariaDB 10.11 LTS from the MariaDB Foundation repository. On this configuration, 10.11 uses 57MB RSS at idle versus 68MB for 11.8.</p>

<p>Installing 10.11 on Debian 13 requires three steps before the main package install: a compatibility shim for <code>libaio1</code> (renamed in Debian 13's library transition), the MariaDB Foundation repository, and an apt preference to pin the packages.</p>

<p><strong>libaio1 compatibility shim.</strong> Debian 13 renamed <code>libaio1</code> to <code>libaio1t64</code>. The MariaDB 10.11 bookworm packages declare a dependency on the old name. Create a symlink so the library is found at runtime, then build a dummy package to satisfy the dependency declaration:</p>

<pre><code>apt-get update
apt-get install -y gnupg equivs libaio1t64

ln -s /usr/lib/x86_64-linux-gnu/libaio.so.1t64 /usr/lib/x86_64-linux-gnu/libaio.so.1
ldconfig

cat &gt; /tmp/libaio1-compat &lt;&lt; 'EOF'
Section: libs
Priority: optional
Standards-Version: 3.9.2
Package: libaio1
Version: 0.3.113-8+b1
Provides: libaio1
Depends: libaio1t64
Architecture: amd64
Description: libaio1 compatibility shim for Debian 13
EOF

cd /tmp &amp;&amp; equivs-build libaio1-compat
dpkg -i /tmp/libaio1_0.3.113-8+b1_amd64.deb
</code></pre>

<p><strong>MariaDB Foundation repository and apt pin:</strong></p>

<pre><code>curl -LsS https://mariadb.org/mariadb_release_signing_key.asc \
    | gpg --dearmor &gt; /etc/apt/trusted.gpg.d/mariadb.gpg

cat &gt; /etc/apt/sources.list.d/mariadb.list &lt;&lt; 'EOF'
deb [arch=amd64,arm64] https://dlm.mariadb.com/repo/mariadb-server/10.11/repo/debian bookworm main
EOF

cat &gt; /etc/apt/preferences.d/mariadb &lt;&lt; 'EOF'
Package: mariadb-* libmariadb*
Pin: release n=trixie
Pin-Priority: -1
EOF

apt-get update
</code></pre>

<p>The pin sets the priority of Debian's trixie mariadb packages to -1, which prevents apt from ever selecting them, including during <code>apt full-upgrade</code>.</p>

<p><strong>Remove build tools.</strong> <code>equivs</code> pulls in the full compiler and build toolchain as dependencies. <code>gnupg</code> is no longer needed once the signing key is imported. Remove them now before the main install to keep the disk footprint clean:</p>

<pre><code>apt-get purge -y equivs gnupg dpkg-dev build-essential &amp;&amp; apt-get autoremove -y --purge
</code></pre>

<p><strong>Install the stack:</strong></p>

<pre><code>DEBIAN_FRONTEND=noninteractive apt-get install -y \
    nginx mariadb-server-core mariadb-client-core \
    php8.4-fpm php8.4-mysql php8.4-curl php8.4-gd \
    php8.4-mbstring php8.4-xml php8.4-zip \
    curl
</code></pre>

<p><code>mariadb-server-core</code> is the server binary package. <code>mariadb-server</code> is a meta-package that additionally depends on <code>galera-4</code>, <code>perl</code>, <code>rsync</code>, and <code>socat</code>, which are Galera cluster tools that a single-site server does not need. Installing <code>mariadb-server-core</code> directly avoids all of them.</p>

<p>The <code>php8.4-opcache</code> and <code>php8.4-readline</code> packages are pulled in as dependencies. Both are disabled from the FPM process in Stage 3.</p>

<p><strong>Post-install cleanup.</strong> Nginx's post-install script attempts to start the service, which fails because IPv6 is disabled at the kernel and the default configuration includes <code>listen [::]:80</code>. Fix the default configuration and complete the package setup, then remove <code>man-db</code> which the install brought back as a trigger dependency:</p>

<pre><code>sed -i "s/listen \[::\]:80 default_server;//" /etc/nginx/sites-available/default
dpkg --configure -a

apt-get purge -y man-db &amp;&amp; apt-get autoremove -y --purge &amp;&amp; apt-get clean
</code></pre>

<hr />

<h2>Stage 2: Configure MariaDB 10.11</h2>

<p>The default MariaDB configuration reserves memory as if the server has gigabytes available. Three settings must be addressed:</p>

<ul>
<li><code>innodb_buffer_pool_size</code> defaults to <strong>128MB</strong>. For a single low-traffic WordPress site this can be set to the minimum: 6MB, which is the smallest value the InnoDB engine accepts for the default 16KB page size.</li>
<li><code>aria_pagecache_buffer_size</code> defaults to <strong>128MB</strong>. The Aria engine is used only by MariaDB's internal <code>mysql</code> schema tables. 4MB is sufficient.</li>
<li><code>key_buffer_size</code> defaults to <strong>128MB</strong>. This is the MyISAM key cache. WordPress has zero MyISAM tables. It can be set to zero.</li>
</ul>

<pre><code>cat &gt; /etc/mysql/mariadb.conf.d/99-minvps.cnf &lt;&lt; 'EOF'
[mysqld]
# Disable performance schema
performance_schema             = OFF

# InnoDB -- default is 128MB, 6M is minimum for 16KB page size
innodb_buffer_pool_size        = 6M
innodb_log_buffer_size         = 2M
innodb_flush_log_at_trx_commit = 2
innodb_buffer_pool_dump_at_shutdown = OFF
innodb_buffer_pool_load_at_startup  = OFF

# InnoDB threads -- write minimum is 2, read and purge can be 1
innodb_read_io_threads         = 1
innodb_write_io_threads        = 2
innodb_purge_threads           = 1

# InnoDB open files -- we have 16 WordPress tables
innodb_open_files              = 32

# Aria -- used by mysql schema internally; all WordPress tables are InnoDB
# Default 128MB; mysql schema Aria data totals ~3MB
aria_pagecache_buffer_size     = 4M

# MyISAM key cache -- zero MyISAM tables in WordPress
key_buffer_size                = 0

# Per-session sort/join buffers -- only allocated during queries, not at idle
sort_buffer_size               = 256K
join_buffer_size               = 128K
read_rnd_buffer_size           = 128K

# No DNS lookups -- DB only accepts localhost connections
skip_name_resolve              = ON
host_cache_size                = 0

# Connection and table limits
max_connections                = 10
max_allowed_packet             = 16M
table_open_cache               = 64
table_definition_cache         = 400
thread_cache_size              = 2

# Temp tables
tmp_table_size                 = 8M
max_heap_table_size            = 8M

# No binary logging on a single server
skip_log_bin

# Unix socket only
bind-address                   = 127.0.0.1

[client]
default-character-set = utf8mb4
EOF
</code></pre>

<ul>
<li><code>innodb_buffer_pool_dump_at_shutdown = OFF</code> and <code>innodb_buffer_pool_load_at_startup = OFF</code> disable the buffer pool state file. With a 6MB pool, saving and reloading it on every restart is pointless I/O. <code>innodb_write_io_threads</code> has a hard minimum of 2 in MariaDB 10.11. Read and purge threads can be reduced to 1.</li>
<li><code>skip_log_bin</code> disables binary logging. Binary logs are used for replication and point-in-time recovery. A single-server WordPress instance has no replicas, and recovery is handled by scheduled backups.</li>
<li><code>performance_schema = OFF</code> disables the performance monitoring tables. They serve no purpose on a production single-site server.</li>
</ul>

<p><code>mariadb-server-core</code> does not include a systemd service file, nor does it create the <code>mysql</code> system user or the data directory. Do all three before starting the service:</p>

<pre><code>groupadd -r mysql
useradd -r -g mysql -d /var/lib/mysql -s /usr/sbin/nologin mysql
mkdir -p /var/lib/mysql
chown mysql:mysql /var/lib/mysql
mariadb-install-db --user=mysql --datadir=/var/lib/mysql

cat &gt; /etc/systemd/system/mariadb.service &lt;&lt; 'EOF'
[Unit]
Description=MariaDB 10.11 LTS Database Server
After=network.target

[Service]
Type=notify
User=mysql
Group=mysql
ExecStart=/usr/sbin/mariadbd --defaults-file=/etc/mysql/mariadb.conf.d/99-minvps.cnf
Restart=on-failure
RuntimeDirectory=mysqld
RuntimeDirectoryMode=0755
TimeoutSec=300

[Install]
WantedBy=multi-user.target
EOF

systemctl daemon-reload
systemctl enable mariadb
</code></pre>

<p>Start MariaDB and create the WordPress database:</p>

<pre><code>systemctl restart mariadb

DB_PASS=$(openssl rand -base64 18)
echo "DB password: $DB_PASS"

mysql -e "CREATE DATABASE wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
mysql -e "CREATE USER 'wordpress'@'localhost' IDENTIFIED BY '$DB_PASS';"
mysql -e "GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress'@'localhost';"
mysql -e "FLUSH PRIVILEGES;"
</code></pre>

<p>Save the generated password. It is needed in Stage 5.</p>

<hr />

<h2>Stage 3: Configure PHP-FPM</h2>

<p><strong>Pool configuration.</strong> The default FPM pool uses <code>pm = dynamic</code>, which pre-forks worker processes at startup. For a low-traffic site, <code>pm = ondemand</code> is better: it spawns a worker only when a request arrives and kills it after 10 seconds of inactivity. At idle, only the master process remains.</p>

<p>Edit <code>/etc/php/8.4/fpm/pool.d/www.conf</code> and set:</p>

<pre><code>pm = ondemand
pm.max_children = 1
pm.process_idle_timeout = 10s
pm.max_requests = 500
</code></pre>

<p><strong>Timezone.</strong> PHP 8.4 rejects the bare string <code>UTC</code> as a timezone identifier. Use the canonical name:</p>

<pre><code>sed -i "s|;date.timezone =|date.timezone = Etc/UTC|" \
    /etc/php/8.4/fpm/php.ini \
    /etc/php/8.4/cli/php.ini
</code></pre>

<p><strong>Disable unused extensions from FPM.</strong> The default PHP install loads 32 extensions in the FPM process. WordPress needs 18 of them. The <code>-s fpm</code> flag disables extensions only in FPM, leaving the CLI unaffected:</p>

<pre><code>phpdismod -s fpm \
    ffi shmop sysvmsg sysvsem sysvshm \
    sockets calendar xsl gettext readline \
    phar ftp tokenizer
</code></pre>

<p>Opcache is a Zend extension and is not handled by <code>phpdismod</code>. Remove its FPM configuration file directly:</p>

<pre><code>rm /etc/php/8.4/fpm/conf.d/10-opcache.ini
</code></pre>

<p>The 18 extensions remaining in FPM: <code>ctype</code>, <code>curl</code>, <code>dom</code>, <code>exif</code>, <code>fileinfo</code>, <code>gd</code>, <code>iconv</code>, <code>mbstring</code>, <code>mysqli</code>, <code>mysqlnd</code>, <code>pdo</code>, <code>pdo_mysql</code>, <code>posix</code>, <code>simplexml</code>, <code>xml</code>, <code>xmlreader</code>, <code>xmlwriter</code>, <code>zip</code>. This is the minimum set for a fully functional WordPress install including image uploads and resize.</p>

<p>Restart PHP-FPM:</p>

<pre><code>systemctl restart php8.4-fpm
</code></pre>

<hr />

<h2>Stage 4: Configure Nginx</h2>

<p>Debian 13's default Nginx configuration tries to listen on <code>[::]:80</code>. IPv6 was disabled at the kernel in the minimisation guide. Replace the configuration entirely:</p>

<pre><code>cat &gt; /etc/nginx/nginx.conf &lt;&lt; 'EOF'
user www-data;
worker_processes 1;
pid /run/nginx.pid;

events {
    worker_connections 512;
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    sendfile on; tcp_nopush on; tcp_nodelay on;
    keepalive_timeout 15;
    server_tokens off;
    access_log off;
    error_log /var/log/nginx/error.log warn;
    gzip on;
    gzip_types text/plain text/css application/javascript application/json text/xml application/xml application/rss+xml;
    gzip_min_length 1000;
    fastcgi_cache_path /tmp/nginx-cache levels=1:2 keys_zone=WORDPRESS:10m inactive=60m max_size=50m;
    fastcgi_cache_key "$scheme$request_method$host$request_uri";
    include /etc/nginx/conf.d/*.conf;
}
EOF
</code></pre>

<p>The FastCGI cache lives in <code>/tmp/nginx-cache</code> on tmpfs. This directory disappears at reboot. Create a tmpfiles rule to recreate it on boot:</p>

<pre><code>echo "d /tmp/nginx-cache 0755 www-data www-data -" &gt; /etc/tmpfiles.d/nginx-cache.conf
mkdir -p /tmp/nginx-cache
chown www-data:www-data /tmp/nginx-cache
</code></pre>

<p>Create the site configuration. Replace <code>YOUR_DOMAIN</code> with your domain name and <code>YOUR_IP</code> with the IP address you will administer wp-admin from:</p>

<pre><code>cat &gt; /etc/nginx/conf.d/YOUR_DOMAIN.conf &lt;&lt; 'EOF'
set_real_ip_from 10.X.X.X/24;
real_ip_header X-Forwarded-For;
real_ip_recursive on;

server {
    listen 80;
    server_name YOUR_DOMAIN;
    root /var/www/YOUR_DOMAIN;
    index index.php;

    location = /xmlrpc.php { deny all; }

    location ~ ^/(wp-admin|wp-login\.php) {
        allow YOUR_IP_HERE;
        deny all;
        try_files $uri $uri/ /index.php?$args;
        location ~ \.php$ {
            include fastcgi_params;
            fastcgi_pass unix:/run/php/php8.4-fpm.sock;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_cache_bypass 1;
            fastcgi_no_cache 1;
        }
    }

    set $skip_cache 0;
    if ($request_method = POST)        { set $skip_cache 1; }
    if ($query_string != "")           { set $skip_cache 1; }
    if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_no_cache|wordpress_logged_in") { set $skip_cache 1; }

    location / { try_files $uri $uri/ /index.php?$args; }

    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass unix:/run/php/php8.4-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_cache WORDPRESS;
        fastcgi_cache_valid 200 60m;
        fastcgi_cache_bypass $skip_cache;
        fastcgi_no_cache $skip_cache;
        fastcgi_cache_use_stale error timeout updating http_500 http_503;
        add_header X-Cache $upstream_cache_status;
    }

    location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2)$ {
        expires 30d;
        add_header Cache-Control "public, immutable";
        log_not_found off;
    }
}
EOF
</code></pre>

<p>The <code>set_real_ip_from</code> and <code>real_ip_header</code> directives are for TierHive instances where all external traffic arrives through HAProxy from the <code>10.0.0.0/8</code> range. They replace the HAProxy-internal source IP with the real client IP before the <code>allow</code>/<code>deny</code> rules are evaluated. On a server with a direct public IP, remove those three lines.</p>

<p>The <code>wp-admin</code> and <code>wp-login.php</code> location block restricts access to a single IP before any PHP executes. The <code>X-Cache</code> header exposes cache status to the client (<code>HIT</code> or <code>MISS</code>). Remove it if you do not want this visible in response headers.</p>

<p>Remove the default Nginx site configuration and test:</p>

<pre><code>rm -f /etc/nginx/sites-enabled/default /etc/nginx/conf.d/default.conf
nginx -t &amp;&amp; systemctl reload nginx
</code></pre>

<hr />

<h2>Stage 5: Install WordPress</h2>

<p><strong>Create the web root:</strong></p>

<pre><code>mkdir -p /var/www/YOUR_DOMAIN
chown www-data:www-data /var/www/YOUR_DOMAIN
</code></pre>

<p><strong>Install WP-CLI.</strong> WP-CLI is the WordPress command-line management tool. Dropbear does not support SFTP, so download directly to the VPS:</p>

<pre><code>curl -sL https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar \
    -o /usr/local/bin/wp &amp;&amp; chmod +x /usr/local/bin/wp
</code></pre>

<p><strong>Download WordPress and create wp-config.php.</strong> Run as <code>www-data</code> so that all files are owned by the web server user. This causes WordPress to detect <code>FS_METHOD = direct</code>, meaning it can update itself and install plugins without FTP credentials. <code>sudo</code> was removed so either add it back or stick with su; use <code>su</code> to switch user from root:</p>

<pre><code>su -s /bin/bash -c "wp core download --path=/var/www/YOUR_DOMAIN" www-data

su -s /bin/bash -c "wp config create --path=/var/www/YOUR_DOMAIN --dbname=wordpress --dbuser=wordpress --dbpass=YOUR_DB_PASSWORD --dbhost=localhost --extra-php" www-data &lt;&lt; 'PHPEOF'
define( 'DISABLE_WP_CRON', true );
define( 'DISALLOW_FILE_EDIT', true );
define( 'WP_POST_REVISIONS', 3 );

if ( isset( $_SERVER['HTTP_X_FORWARDED_PROTO'] ) &amp;&amp; 'https' === $_SERVER['HTTP_X_FORWARDED_PROTO'] ) {
    $_SERVER['HTTPS'] = 'on';
}
PHPEOF
</code></pre>

<ul>
<li><code>DISABLE_WP_CRON</code> stops WordPress from triggering cron jobs on page load. A system cron job replaces it below.</li>
<li><code>DISALLOW_FILE_EDIT</code> removes the theme and plugin editor from wp-admin, reducing the attack surface if credentials are compromised.</li>
<li><code>WP_POST_REVISIONS = 3</code> caps the revision history stored per post, keeping the database smaller.</li>
<li>The <code>HTTP_X_FORWARDED_PROTO</code> block tells WordPress it is being served over HTTPS even though Nginx receives plain HTTP from the upstream proxy. Without it, WordPress generates <code>http://</code> URLs and the browser enters an infinite redirect loop. This applies when SSL terminates upstream: HAProxy, Cloudflare, or a load balancer. Remove it if Nginx handles TLS directly.</li>
</ul>

<p><strong>Install WordPress:</strong></p>

<pre><code>su -s /bin/bash -c 'wp core install --path=/var/www/YOUR_DOMAIN --url=https://YOUR_DOMAIN --title="YOUR_SITE_TITLE" --admin_user=YOUR_ADMIN_USER --admin_password=YOUR_ADMIN_PASSWORD --admin_email=YOUR_EMAIL --skip-email' www-data
</code></pre>

<p><strong>Replace WP-Cron with a system cron job.</strong> WordPress's built-in cron fires on page load, which adds latency and fails entirely if the site has no traffic. A system job runs on a fixed schedule regardless:</p>

<pre><code>cat &gt; /etc/cron.d/wordpress &lt;&lt; 'EOF'
*/5 * * * * www-data php /usr/local/bin/wp cron event run --due-now --path=/var/www/YOUR_DOMAIN --quiet 2&gt;/dev/null
EOF
</code></pre>

<hr />

<h2>Reboot</h2>

<pre><code>reboot
</code></pre>

<hr />

<h2>After</h2>

<pre><code>               total        used        free      shared  buff/cache   available
Mem:             213          84          32           0         104         128
Swap:              0           0           0
</code></pre>

<pre><code>Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1       2.8G  800M  1.9G  31% /
</code></pre>

<p>RAM up from 38MB to 84MB. Disk up from 275MB to 800MB.</p>

<hr />

<h2>What Is Still Running</h2>

<p>At idle with no active requests, the FPM pool has no workers. Workers spawn on demand and exit after 10 seconds of inactivity.</p>

<table>
<thead>
<tr>
  <th>Process</th>
  <th>RSS</th>
  <th>PSS</th>
</tr>
</thead>
<tbody>
<tr>
  <td>mariadbd</td>
  <td>57MB</td>
  <td>52MB</td>
</tr>
<tr>
  <td>php-fpm master (no workers)</td>
  <td>30MB</td>
  <td>25MB</td>
</tr>
<tr>
  <td>nginx (master + worker + cache_mgr)</td>
  <td>11MB</td>
  <td>--</td>
</tr>
<tr>
  <td>systemd</td>
  <td>14MB</td>
  <td>--</td>
</tr>
<tr>
  <td>systemd-udevd</td>
  <td>9MB</td>
  <td>--</td>
</tr>
<tr>
  <td>dbus, dropbear, busybox syslogd, getty</td>
  <td>12MB</td>
  <td>--</td>
</tr>
</tbody>
</table>

<p>RSS is the process's resident set. PSS (proportional set size) credits each process only its share of shared library mappings and is the more accurate measure of unique memory use.</p>

<p>Under load with one active PHP worker, total used RAM is approximately 112MB. Cached requests are served by Nginx without spawning a worker.</p>

<p>MariaDB's 57MB RSS is close to the practical minimum for 10.11 with InnoDB. <code>innodb_buffer_pool_size = 6M</code> is the smallest value the engine accepts for the default 16KB page size.</p>

<hr />

<h2>What the tuning saves</h2>

<p>The three MariaDB buffer defaults (<code>innodb_buffer_pool_size</code>, <code>aria_pagecache_buffer_size</code>, and <code>key_buffer_size</code>) reserve 384MB of buffer space in a default install. None of it is used by a single WordPress site. The full set of changes applied:</p>

<table>
<thead>
<tr>
  <th>Change</th>
  <th>Saving</th>
</tr>
</thead>
<tbody>
<tr>
  <td>MariaDB 10.11 LTS instead of Debian's 11.8</td>
  <td>~13MB</td>
</tr>
<tr>
  <td><code>innodb_buffer_pool_size</code> 128MB → 6MB</td>
  <td>~30MB</td>
</tr>
<tr>
  <td><code>aria_pagecache_buffer_size</code> 128MB → 4MB</td>
  <td>~15MB</td>
</tr>
<tr>
  <td><code>key_buffer_size</code> 128MB → 0</td>
  <td>~5MB</td>
</tr>
<tr>
  <td>InnoDB IO threads 4 → 2 (write), 1 (read/purge)</td>
  <td>~2MB</td>
</tr>
<tr>
  <td><code>innodb_buffer_pool_load_at_startup = OFF</code></td>
  <td>marginal</td>
</tr>
<tr>
  <td>Removed opcache shared memory</td>
  <td>~12MB</td>
</tr>
<tr>
  <td>Disabled 13 FPM extensions via phpdismod</td>
  <td>~2MB</td>
</tr>
</tbody>
</table>

<p>I did run this on 128mb ram for a few days, it ran ok, but if you build aritifical load it soon starts to fall over, so on that basis I recommend 256mb.</p>

<p>I am also aware you can run this on sqlite and then probably 128mb is fine, i decided against that, apart from the concurrency issues with sqlite, there are also lots of reported plugin issues, so its not technically supported as a "standard full WordPress install" but you can probably save about 40 - 45mb ram if you decide to use SQLite instead then 128mb is fine.</p>

<p>Example site running this: <a href="https://pop2.me" rel="nofollow">https://pop2.me</a></p>

<p>Thats the end of the guides for a while, might do some micro howto's but these full fat ones take to long for me right now and I tend to get obsessed with trying ot shave KB's of ram off.</p>
]]>
        </description>
    </item>
    <item>
        <title>Introducing a New Concept Product Developed by Chinese Developers – Guaqi</title>
        <link>https://lowendspirit.com/index.php?p=/discussion/10065/introducing-a-new-concept-product-developed-by-chinese-developers-guaqi</link>
        <pubDate>Sun, 12 Oct 2025 16:51:21 +0000</pubDate>
        <category>WordPress</category>
        <dc:creator>nwnuyhs</dc:creator>
        <guid isPermaLink="false">10065@/index.php?p=/discussions</guid>
        <description><![CDATA[<ol>
<li><p>Guaqi adopts a front-end and back-end separation architecture.</p></li>
<li><p>The back-end is powered by WordPress, while the front-end uses Node.js.</p></li>
<li><p>A single WordPress back-end can centrally manage multiple front-end websites, and all articles published on the Node.js front-ends are managed through the unified WordPress back-end.</p></li>
</ol>

<p>Preview:<a href="https://guaqi.com/" rel="nofollow">https://guaqi.com/</a></p>

<p>What do you think of this new concept product?</p>
]]>
        </description>
    </item>
    <item>
        <title>Simple guide for auto-posting WordPress content to social media</title>
        <link>https://lowendspirit.com/index.php?p=/discussion/10268/simple-guide-for-auto-posting-wordpress-content-to-social-media</link>
        <pubDate>Sat, 29 Nov 2025 19:20:38 +0000</pubDate>
        <category>WordPress</category>
        <dc:creator>colonelserver</dc:creator>
        <guid isPermaLink="false">10268@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Here’s a short guide for anyone who wants to automatically publish WordPress posts to social media platforms using auto-poster plugins.</p>

<p>Three reliable plugins worth checking out:</p>

<p>FS Poster</p>

<p>Blog2Social</p>

<p>Social Auto Poster</p>

<p>Most of them support X, Facebook, LinkedIn, Instagram and Telegram through API keys or tokens.</p>

<p>Basic setup workflow:</p>

<p>Install your preferred auto-poster plugin.</p>

<p>Connect each social network using the required API keys.</p>

<p>Choose which post types should be shared automatically.</p>

<p>Customize the message template (title, excerpt, featured image).</p>

<p>Enable auto-publishing so every new WordPress post is sent to your social channels.</p>

<p>We personally use Blog2Social because it’s stable, flexible with scheduling and works well with multiple platforms.</p>

<p>If anyone has tested other tools with better reliability, I’d like to hear your experience too.</p>
]]>
        </description>
    </item>
    <item>
        <title>Is Lifetime WordPress Hosting really a reliable alternative to subscription plans?</title>
        <link>https://lowendspirit.com/index.php?p=/discussion/9887/is-lifetime-wordpress-hosting-really-a-reliable-alternative-to-subscription-plans</link>
        <pubDate>Tue, 26 Aug 2025 09:10:49 +0000</pubDate>
        <category>WordPress</category>
        <dc:creator>Voxfor</dc:creator>
        <guid isPermaLink="false">9887@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>I’ve recently come across the concept of Lifetime WordPress Hosting where you pay once instead of monthly or yearly subscriptions. On paper, it looks very cost-effective, but I’m curious about the real-world results.</p>

<p>For those who have tried it:</p>

<p>How stable is the uptime and speed for WordPress websites?</p>

<p>Do these plans actually provide quality support in the long run?</p>

<p>Are there any hidden limitations or challenges compared to traditional hosting?</p>

<p>I’d love to hear from people who’ve tested Lifetime Hosting for their WordPress projects — is it worth considering for serious long-term use?</p>
]]>
        </description>
    </item>
    <item>
        <title>AIO WP Migration discontinued lifetime deal - 69$/year now</title>
        <link>https://lowendspirit.com/index.php?p=/discussion/5009/aio-wp-migration-discontinued-lifetime-deal-69-year-now</link>
        <pubDate>Sun, 04 Dec 2022 13:50:35 +0000</pubDate>
        <category>WordPress</category>
        <dc:creator>Ympker</dc:creator>
        <guid isPermaLink="false">5009@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>AIO WP Migration WordPress Plugin (by Servmask) no longer is available for a one-time fee. Instead charges 69$/year now.<br />
Another lifetime deal I  happy I have snagged before it was gone <img src="https://lowendspirit.com/plugins/emojiextender/emoji/twitter/smile.png" title=":)" alt=":)" height="18" /></p>

<p><a href="https://lowendspirit.com/index.php?p=/profile/vyas" rel="nofollow">@vyas</a> <a href="https://lowendspirit.com/index.php?p=/profile/bikegremlin" rel="nofollow">@bikegremlin</a></p>
]]>
        </description>
    </item>
    <item>
        <title>How much does a WordPress website cost?</title>
        <link>https://lowendspirit.com/index.php?p=/discussion/4096/how-much-does-a-wordpress-website-cost</link>
        <pubDate>Sat, 23 Apr 2022 13:47:07 +0000</pubDate>
        <category>WordPress</category>
        <dc:creator>bikegremlin</dc:creator>
        <guid isPermaLink="false">4096@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>I've finally gotten down to writing an article on all the related costs when it comes to WP websites.</p>

<p>Surely, with a bit of coding and patience (read: "Black Friday sales") the costs can be significantly reduced, but I wanted to make a "pessimistic/realistic" overview, 'cause we all know that only pigeon pictures are really free:</p>

<p><a rel="nofollow" href="https://io.bikegremlin.com/25820/wordpress-website-cost/" title="How much does a WordPress website cost?">How much does a WordPress website cost?</a></p>
]]>
        </description>
    </item>
    <item>
        <title>WordPress security vulnerabilities?</title>
        <link>https://lowendspirit.com/index.php?p=/discussion/8502/wordpress-security-vulnerabilities</link>
        <pubDate>Sat, 02 Nov 2024 19:53:22 +0000</pubDate>
        <category>WordPress</category>
        <dc:creator>datavia</dc:creator>
        <guid isPermaLink="false">8502@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Hello everyone,</p>

<p>We observed that many of my customers' wprdpress sites had security vulnerabilities, and as a result of downloading infected files, the attacker tried to access the servers and thanks to cloudlinux, he could not access other sites.</p>

<p>I felt the need to open this topic so that my friends who use wordpress should be careful. I think my customer encountered this problem because he used an unlicensed plugin. When we completely deleted the site and re-installed it including the plugins, the virus was cleaned.</p>
]]>
        </description>
    </item>
    <item>
        <title>Fixing widget translations with the free Polylang plugin</title>
        <link>https://lowendspirit.com/index.php?p=/discussion/8416/fixing-widget-translations-with-the-free-polylang-plugin</link>
        <pubDate>Mon, 14 Oct 2024 11:29:55 +0000</pubDate>
        <category>WordPress</category>
        <dc:creator>bikegremlin</dc:creator>
        <guid isPermaLink="false">8416@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>I highly prefer Polylang to WPML for multilingual Wordpress websites. However, while I can use the unlimited lifetime pro WPML plugin, I have no licence for the Polylang Pro - and the annual subscription is too expensive for the non-profit stuff.</p>

<p>The problem with the free Polylang is that you can't set language versions for widgets (apart from the "legacy widgets").</p>

<p>This is how I've managed to solve it, with a minimum amount of custom code that can easily be implemented:</p>

<p><a href="https://io.bikegremlin.com/35014/widget-translation-with-free-polylang/" rel="nofollow">https://io.bikegremlin.com/35014/widget-translation-with-free-polylang/</a></p>

<p>If anyone has a more elegant solution, I'm eager to hear it and improve this.</p>
]]>
        </description>
    </item>
    <item>
        <title>WP.com owner Mat² Mullenweg bashes WP Engine on WordCamp 2024</title>
        <link>https://lowendspirit.com/index.php?p=/discussion/8331/wp-com-owner-mat%C2%B2-mullenweg-bashes-wp-engine-on-wordcamp-2024</link>
        <pubDate>Sat, 21 Sep 2024 10:05:20 +0000</pubDate>
        <category>WordPress</category>
        <dc:creator>bikegremlin</dc:creator>
        <guid isPermaLink="false">8331@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>A bit of a high-end (corpo) popcorn drama. Video timelines list and my thoughts on the discussion:</p>

<p><a rel="nofollow" href="https://www.bikegremlin.net/threads/wordpress-com-owner-matt-bashes-on-wp-engine-and-silver-lake-capital.352/" title="https://www.bikegremlin.net/threads/wordpress-com-owner-matt-bashes-on-wp-engine-and-silver-lake-capital.352/">https://www.bikegremlin.net/threads/wordpress-com-owner-matt-bashes-on-wp-engine-and-silver-lake-capital.352/</a></p>
]]>
        </description>
    </item>
    <item>
        <title>WordPress SEO plugins</title>
        <link>https://lowendspirit.com/index.php?p=/discussion/8167/wordpress-seo-plugins</link>
        <pubDate>Sun, 11 Aug 2024 11:25:10 +0000</pubDate>
        <category>WordPress</category>
        <dc:creator>System</dc:creator>
        <guid isPermaLink="false">8167@/index.php?p=/discussions</guid>
        <description><![CDATA[This discussion was created from comments split from: <a rel="nofollow" href="/discussion/7118/the-cest-pit-of-house-les-2024-the-sixth-of-its-name-the-breaker-of-chains/">The Cest Pit of House LES - 2024 - The Sixth of Its Name - The Breaker of Chains</a>.]]>
        </description>
    </item>
    <item>
        <title>What are must-have plugins for beginners according to YOUR experience?</title>
        <link>https://lowendspirit.com/index.php?p=/discussion/4615/what-are-must-have-plugins-for-beginners-according-to-your-experience</link>
        <pubDate>Tue, 20 Sep 2022 07:52:55 +0000</pubDate>
        <category>WordPress</category>
        <dc:creator>Ympker</dc:creator>
        <guid isPermaLink="false">4615@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>So, I have been working at my university's media and language department for a couple of years now, and the other day I have been approached with the question, whether I could imagine myself becoming a WordPress Instructor at our Uni to hold some of the University's WordPress (Beginner) classes. Since the course outline at least includes the introduction of a couple of plugins, which I can to some extent choose, I wanted to ask you guys (especially <a href="https://lowendspirit.com/index.php?p=/profile/bikegremlin" rel="nofollow">@bikegremlin</a> <a href="https://lowendspirit.com/index.php?p=/profile/vyas" rel="nofollow">@vyas</a> ) which plugins you would consider must-have plugins for total beginners of WordPress.</p>

<p>Please keep in mind that, due to the nature of the course, there's likely gonna be the option to introduce either 5 plugins a bit more "in-depth", or about 10 plugins very superficially. The plugins should ideally not only be free(-mium), but also be easy to use and (if possible) require little config (less options means less walls the pupils can hit).<br />
For example, WP Super Cache (while not necessarily my caching plugin of choice), has an "Easy" and "Advanced" configuration mode, where in the course probably the "Easy" mode would be addressed.</p>

<p>I am still waiting for more information and if this actually comes to pass, however, I already wanted to do some brainstorming so I thought, why not ask you guys <img src="https://lowendspirit.com/plugins/emojiextender/emoji/twitter/smile.png" title=":)" alt=":)" height="18" /></p>
]]>
        </description>
    </item>
    <item>
        <title>WordPress Playground | Fanbois and Gals...rejoice</title>
        <link>https://lowendspirit.com/index.php?p=/discussion/7718/wordpress-playground-fanbois-and-gals-rejoice</link>
        <pubDate>Sun, 28 Apr 2024 04:12:56 +0000</pubDate>
        <category>WordPress</category>
        <dc:creator>vyas</dc:creator>
        <guid isPermaLink="false">7718@/index.php?p=/discussions</guid>
        <description><![CDATA[<p><a rel="nofollow" href="https://playground.wordpress.net/" title="WordPress Playground">WordPress Playground</a> is a sandbox...temporary WordPress installations where you can experiment freely.</p>

<p>Last week I tested out the Playground site on WordPress (run WP right from your browser, customize, add content, theme, plugins, scripts... download and delete</p>

<p>Posting just one  picture below, leaving links to the rest so as not to take up too much screen real estate.</p>

<p><img src="https://i.im.ge/2024/04/28/ZmWU1J.IMG-6108.jpeg" alt="ZmWU1J.IMG-6108.jpeg" /></p>

<p><strong>More images</strong></p>

<p><strong>Change PHP version</strong><br />
<a href="https://im.ge/i/WP-Playground.ZmZTrS" rel="nofollow">https://im.ge/i/WP-Playground.ZmZTrS</a></p>

<p><strong>Change WordPress version</strong><br />
<a href="https://im.ge/i/WP-version.ZmZMVy" rel="nofollow">https://im.ge/i/WP-version.ZmZMVy</a></p>

<p><strong>Browser-Storage</strong><br />
<a href="https://im.ge/i/Playground-Browser-Storage.ZmW4vx" rel="nofollow">https://im.ge/i/Playground-Browser-Storage.ZmW4vx</a></p>

<p><strong>Add a new theme</strong><br />
<a href="https://im.ge/i/playground-themes.ZmZo0z" rel="nofollow">https://im.ge/i/playground-themes.ZmZo0z</a></p>

<p><strong>Add Plugin and export</strong><br />
<a href="https://im.ge/i/wp-playground-plugins-export.ZmWe6J" rel="nofollow">https://im.ge/i/wp-playground-plugins-export.ZmWe6J</a></p>

<p>Nb: it is not perfect there might be some errors still.</p>

<p><a href="https://im.ge/i/IMG-6109.ZmWhwy" rel="nofollow">https://im.ge/i/IMG-6109.ZmWhwy</a></p>
]]>
        </description>
    </item>
    <item>
        <title>Contact Form with Double Opt-in</title>
        <link>https://lowendspirit.com/index.php?p=/discussion/7693/contact-form-with-double-opt-in</link>
        <pubDate>Mon, 22 Apr 2024 09:19:01 +0000</pubDate>
        <category>WordPress</category>
        <dc:creator>Ympker</dc:creator>
        <guid isPermaLink="false">7693@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>What's your go-to contact form plugin that supports double opt-in? E.g. person fills out form on website, submits, and then gets an email with a link to confirm they really want to yada yada. You know how it goes.. gdpr</p>
]]>
        </description>
    </item>
    <item>
        <title>Wp rocket, nitropack and similars (unused CSS)</title>
        <link>https://lowendspirit.com/index.php?p=/discussion/7536/wp-rocket-nitropack-and-similars-unused-css</link>
        <pubDate>Wed, 20 Mar 2024 14:26:52 +0000</pubDate>
        <category>WordPress</category>
        <dc:creator>Chievo</dc:creator>
        <guid isPermaLink="false">7536@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Hi! <br />
I have checked them looking for the unused css option. ( mainly) Which is the feedback from the LEStizens respect them. To be honest they are popular ( they are paid plugins) but many opinions are related to affiliate money.so pretty transparent opinions would be welcome. (I mean there are 1000s places but there are affiliate money as well so). Which is your feedback respect them? Which plugins would you recommend and why? Have you cleaned the unused css or it does not matter? ( usage per GB and speed) Which plugin have used for it? Attaching a pool respect the unused css. Thanks!</p>

<p>P.d perfmatters and flyingpress are doing unused css as well</p>
]]>
        </description>
    </item>
    <item>
        <title>Wordpress hosting panel with staging area?</title>
        <link>https://lowendspirit.com/index.php?p=/discussion/7329/wordpress-hosting-panel-with-staging-area</link>
        <pubDate>Fri, 09 Feb 2024 22:56:50 +0000</pubDate>
        <category>WordPress</category>
        <dc:creator>imok</dc:creator>
        <guid isPermaLink="false">7329@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Hi!<br />
I'm looking for a server administration panel (currently runing CloudPanel on a dedi) but preferably one that allows me to create a staging area for my sites faster. I currently clone them manually.</p>

<p>Thank you.</p>
]]>
        </description>
    </item>
    <item>
        <title>Strange bot swarm overwhelming a website - SOLVED</title>
        <link>https://lowendspirit.com/index.php?p=/discussion/6528/strange-bot-swarm-overwhelming-a-website-solved</link>
        <pubDate>Mon, 25 Sep 2023 14:41:59 +0000</pubDate>
        <category>WordPress</category>
        <dc:creator>bikegremlin</dc:creator>
        <guid isPermaLink="false">6528@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>I saw a client's website using up 100% of its allotted CPU resources non-stop, and a huge amount of bandwidth.</p>

<p>It wasn't a DDoS, it wasn't a real bot attack either.</p>

<p>Never experienced something like that (you live and learn).</p>

<p>I wrote it all down as a sort of a pulp-fiction detective story - just for some fun while documenting it:</p>

<p><a rel="nofollow" href="https://io.bikegremlin.com/31865/website-attacked-by-ghosts/" title="Website Attacked By Ghosts">Website Attacked By Ghosts</a></p>

<p>Thought it would be cool to not put any spoilers here.  <img src="https://lowendspirit.com/plugins/emojiextender/emoji/twitter/smile.png" title=":)" alt=":)" height="18" /></p>
]]>
        </description>
    </item>
    <item>
        <title>Recommendations on speeding up a WordPress Site</title>
        <link>https://lowendspirit.com/index.php?p=/discussion/7451/recommendations-on-speeding-up-a-wordpress-site</link>
        <pubDate>Mon, 04 Mar 2024 07:35:20 +0000</pubDate>
        <category>WordPress</category>
        <dc:creator>Diwakar</dc:creator>
        <guid isPermaLink="false">7451@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Hi,</p>

<p>I am looking for ways to speed up my wordpress site</p>

<p>Currently I am using LiteSpeed and WP Smush, and my load times are pretty good.</p>

<p>I am also minifying all CSS and JS using CloudFlare.</p>

<p>Does anyone have any other recommendations.<br />
My sites load times are 619ms</p>
]]>
        </description>
    </item>
    <item>
        <title>Adding large (video) files to WordPress via (S)FTP</title>
        <link>https://lowendspirit.com/index.php?p=/discussion/7387/adding-large-video-files-to-wordpress-via-s-ftp</link>
        <pubDate>Tue, 20 Feb 2024 12:40:35 +0000</pubDate>
        <category>WordPress</category>
        <dc:creator>Ympker</dc:creator>
        <guid isPermaLink="false">7387@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>So, recently a client wanted me to embed a whopping 700MB video on their WordPress site (ofc hosted on the webserver) and the webhosting won't support uploads that size to WordPress via Uploadsizelimit, I had to upload the video via (S)FTP. After that I remembered that contrary to good old times, manually uploaded media isn't automatically listed/added to the WordPress "Media". Luckily I still remembered the "Add From Server" plugin which does allow you to add manually uploaded files to the WordPress "Media". That said, while Add From Server worked perfectly fine, the plugin hasn't been updated for quite a while. Everything worked fine, but I wanted to explore more recent/up to date options for future cases, so I stumbled upon the "Bulk Media Register" plugin (<a href="https://wordpress.org/plugins/bulk-media-register/" rel="nofollow">https://wordpress.org/plugins/bulk-media-register/</a>) that was mentioned on a recent WP Beginner article (<a href="https://www.wpbeginner.com/plugins/how-to-bulk-upload-wordpress-media-files-using-ftp/" rel="nofollow">https://www.wpbeginner.com/plugins/how-to-bulk-upload-wordpress-media-files-using-ftp/</a>).</p>

<p>What is your usual workflow in such situations? Anyway, perhaps you were running in a similar issue and this new plugin helps you get the job done <img src="https://lowendspirit.com/plugins/emojiextender/emoji/twitter/smile.png" title=":)" alt=":)" height="18" /> Just wanted to share the new information here, and discuss this topic in general.</p>

<p>Edit: I love the AddFromServer description on GitHub though: <a href="https://github.com/dd32/add-from-server" rel="nofollow">https://github.com/dd32/add-from-server</a></p>

<p>"Add From Server - An outdated 11 year old plugin that over 100k people still insist on using"</p>
]]>
        </description>
    </item>
    <item>
        <title>Is possible to make a static page in wordpress without converting thw whole wp.on static?</title>
        <link>https://lowendspirit.com/index.php?p=/discussion/7341/is-possible-to-make-a-static-page-in-wordpress-without-converting-thw-whole-wp-on-static</link>
        <pubDate>Mon, 12 Feb 2024 14:41:17 +0000</pubDate>
        <category>WordPress</category>
        <dc:creator>Chievo</dc:creator>
        <guid isPermaLink="false">7341@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>So here is the question is possible somehow to convert page A in static meanwhile not converting the whole.page in static because a chat, contact form, calculator and so on. . So page A could be static.meanwhile the rest of the pages are " normal wp" ?</p>
]]>
        </description>
    </item>
    <item>
        <title>A/B Updates for WordPress?</title>
        <link>https://lowendspirit.com/index.php?p=/discussion/6965/a-b-updates-for-wordpress</link>
        <pubDate>Thu, 07 Dec 2023 17:12:23 +0000</pubDate>
        <category>WordPress</category>
        <dc:creator>Otus9051</dc:creator>
        <guid isPermaLink="false">6965@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>I don't understand why WordPress hasn't yet figured this out, half the stuff breaks in major updates, why not just do A/B updates with auto-rollover?</p>

<p>Or does this already exist and me and my Google Search Recommendations are stupid?</p>
]]>
        </description>
    </item>
    <item>
        <title>Elementor vulnerability; and WordPress 6.4.2 patch released</title>
        <link>https://lowendspirit.com/index.php?p=/discussion/6964/elementor-vulnerability-and-wordpress-6-4-2-patch-released</link>
        <pubDate>Thu, 07 Dec 2023 15:34:43 +0000</pubDate>
        <category>WordPress</category>
        <dc:creator>bikegremlin</dc:creator>
        <guid isPermaLink="false">6964@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>For anyone using Elementor, and running site with a lot of contributors (that aren't strictly vetted), Elementor seems to have a vulnerability.<br />
Update should help according to Elementor but it's yet to be confirmed.</p>

<p><a rel="nofollow" href="https://www.bikegremlin.net/threads/bikegremlin-i-o-news.10/#post-220" title="https://www.bikegremlin.net/threads/bikegremlin-i-o-news.10/#post-220">https://www.bikegremlin.net/threads/bikegremlin-i-o-news.10/#post-220</a></p>

<p>Also, WordPress 6.4.2 update has been released, addressing a potential vulnerability.</p>

<p><a rel="nofollow" href="https://wordpress.org/news/2023/12/wordpress-6-4-2-maintenance-security-release/" title="https://wordpress.org/news/2023/12/wordpress-6-4-2-maintenance-security-release/">https://wordpress.org/news/2023/12/wordpress-6-4-2-maintenance-security-release/</a></p>
]]>
        </description>
    </item>
    <item>
        <title>WordPress-related BlackFriday 2023 offers</title>
        <link>https://lowendspirit.com/index.php?p=/discussion/6798/wordpress-related-blackfriday-2023-offers</link>
        <pubDate>Tue, 21 Nov 2023 18:06:59 +0000</pubDate>
        <category>WordPress</category>
        <dc:creator>bikegremlin</dc:creator>
        <guid isPermaLink="false">6798@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>If you have any recommendations or stuff worth considering.</p>

<p>I see OceanWP and GeneratePress giving discounts, even for the lifetime offers ( <a href="https://lowendspirit.com/index.php?p=/profile/Ympker" rel="nofollow">@Ympker</a>  <img src="https://lowendspirit.com/plugins/emojiextender/emoji/twitter/smile.png" title=":)" alt=":)" height="18" />  )</p>

<p>My BF offer list (some hosting, some WP - will try to keep it up-to-date):</p>

<p><a rel="nofollow" href="https://www.bikegremlin.net/threads/black-friday-2023-deals-it-related.54/" title="https://www.bikegremlin.net/threads/black-friday-2023-deals-it-related.54/">https://www.bikegremlin.net/threads/black-friday-2023-deals-it-related.54/</a></p>
]]>
        </description>
    </item>
    <item>
        <title>All-In-One WP Migration plugin exploit</title>
        <link>https://lowendspirit.com/index.php?p=/discussion/6561/all-in-one-wp-migration-plugin-exploit</link>
        <pubDate>Sun, 01 Oct 2023 05:56:52 +0000</pubDate>
        <category>WordPress</category>
        <dc:creator>bikegremlin</dc:creator>
        <guid isPermaLink="false">6561@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>An article explaining the problem:</p>

<p><a href="https://robertdevore.com/all-in-one-wp-migration-plugin-ddos-attack/" rel="nofollow">https://robertdevore.com/all-in-one-wp-migration-plugin-ddos-attack/</a></p>

<p>TL/DR<br />
It requires another exploit to exist already in order for this exploit to work.<br />
What it does is it creates backups non-stop (until your storage is filled up).<br />
If you use the plugin to migrate sites, and then remove it, you should be fine.</p>

<p>Just for the heads up, in case anyone set the plugin to do regular backups (always better solved at the server level, not via a plugin IMO).</p>
]]>
        </description>
    </item>
    <item>
        <title>For WordPress experts with some knowledge of &quot;Nitro&quot;</title>
        <link>https://lowendspirit.com/index.php?p=/discussion/6389/for-wordpress-experts-with-some-knowledge-of-nitro</link>
        <pubDate>Thu, 31 Aug 2023 07:50:15 +0000</pubDate>
        <category>WordPress</category>
        <dc:creator>TigersWay</dc:creator>
        <guid isPermaLink="false">6389@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Hi,<br />
Looking for some ideas/advice to deal with a WordPress site and something called "Nitro" which seems to "eat" (can't really say anything else) some footer script: First turning it into some <code>NPRL.registerScript...</code> and then making it totally disappear.</p>

<p>Just a friend of a friend.... so can't really put my fingers into it! (neither code nor friend of course)<br />
If anyone has any lead....</p>
]]>
        </description>
    </item>
    <item>
        <title>WordPress dot COM 100-year plan</title>
        <link>https://lowendspirit.com/index.php?p=/discussion/6370/wordpress-dot-com-100-year-plan</link>
        <pubDate>Sat, 26 Aug 2023 08:26:18 +0000</pubDate>
        <category>WordPress</category>
        <dc:creator>bikegremlin</dc:creator>
        <guid isPermaLink="false">6370@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>I've registered my domains and paid for hosting for years in advance, and gave a trusted friend all my passwords in order to keep stuff running when a texting driver runs me over (the power of negative thinking - a self-help book coming out soon! <img src="https://lowendspirit.com/plugins/emojiextender/emoji/twitter/smile.png" title=":)" alt=":)" height="18" />  ).</p>

<p>However, WordPress COM corporation has made a marketing stunt to harness this line of thinking (or fear?) to a whole new level. They've introduced a 100-year hosting and domain registration plan. The link:</p>

<p><a href="https://wordpress.com/blog/2023/08/25/introducing-the-100-year-plan/" rel="nofollow">https://wordpress.com/blog/2023/08/25/introducing-the-100-year-plan/</a></p>

<p>So, for about $40,000 you can do a one-time payment and forget about it.  <img src="https://lowendspirit.com/plugins/emojiextender/emoji/twitter/smile.png" title=":)" alt=":)" height="18" />   The pricing page link:<br />
<a href="https://wordpress.com/100-year/#start" rel="nofollow">https://wordpress.com/100-year/#start</a></p>

<p>According to my calculations, this is exactly 20 times more optimistic than the Soviet 5-year plans.</p>

<p>I suppose there are companies who could use something like this. People forget to renew domains, and WordPress COM hosting has been very reliable over the years.</p>
]]>
        </description>
    </item>
    <item>
        <title>Divi added AI now</title>
        <link>https://lowendspirit.com/index.php?p=/discussion/6289/divi-added-ai-now</link>
        <pubDate>Thu, 10 Aug 2023 17:20:07 +0000</pubDate>
        <category>WordPress</category>
        <dc:creator>Ympker</dc:creator>
        <guid isPermaLink="false">6289@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Just saw this:<br />
<a href="https://www.elegantthemes.com/ai/" rel="nofollow">https://www.elegantthemes.com/ai/</a><br />
<img src="https://i.gyazo.com/97f02af43738c1c657ba220ba013b561.png" alt="" title="" /></p>

<p><img src="https://i.gyazo.com/c98cb33213d044b506c9ef822875826e.png" alt="" title="" /></p>

<p><span data-youtube="youtube-eZ7TYPmlCtU?autoplay=1"><a rel="nofollow" href="https://www.youtube.com/watch?v=eZ7TYPmlCtU"><img src="https://img.youtube.com/vi/eZ7TYPmlCtU/0.jpg" width="640" height="385" border="0" alt="image" /></a></span></p>
]]>
        </description>
    </item>
    <item>
        <title>WordPress comment and contact form spam blocking using Cloudflare</title>
        <link>https://lowendspirit.com/index.php?p=/discussion/6329/wordpress-comment-and-contact-form-spam-blocking-using-cloudflare</link>
        <pubDate>Thu, 17 Aug 2023 18:31:21 +0000</pubDate>
        <category>WordPress</category>
        <dc:creator>bikegremlin</dc:creator>
        <guid isPermaLink="false">6329@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>OK, we all know that Cloudflare is (another) big brother that smiles warmly upon us (for now) giving a lot of free goodies.</p>

<p>Being less than thrilled with Google reCAPTCHA, I decided to try doing the same using Cloudflare, for as long as it's free.</p>

<p>It boils down to creating a WAF rule:<br />
Field: URI Path<br />
Operator: contains<br />
Value: wp-comments-post.php<br />
Action: JS Challenge</p>

<p>So far so good.</p>

<p>All the details (how to configure and test it) are in the article:<br />
<a rel="nofollow" href="https://io.bikegremlin.com/31443/stopping-wordpress-comment-spam-with-cloudflare/" title="Stopping WordPress comment spam with CloudFlare">Stopping WordPress comment spam with CloudFlare</a></p>

<p>It's a constant cat-and-mouse game, but so far so good (says a man falling from a 10-storey building <img src="https://lowendspirit.com/plugins/emojiextender/emoji/twitter/smile.png" title=":)" alt=":)" height="18" /> ).</p>
]]>
        </description>
    </item>
    <item>
        <title>ChatGPT responses: Merging different wordpress sites</title>
        <link>https://lowendspirit.com/index.php?p=/discussion/5507/chatgpt-responses-merging-different-wordpress-sites</link>
        <pubDate>Sun, 19 Feb 2023 10:42:46 +0000</pubDate>
        <category>WordPress</category>
        <dc:creator>vyas</dc:creator>
        <guid isPermaLink="false">5507@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>**Note: This is a LONG post. **</p>

<p>This morning, I was checking out some new prompts for ChatGPT, I thought of asking some Wp related queries, and asked questions for the following theme:</p>

<blockquote><div>
  <p>Merging different wordpress sites- Multisite, or merge with URL forward?</p>
</div></blockquote>

<p>For brevity, I have collapsed the answers, and you will have to click on each response individually. This conversation (with inputs from WP users /tinkerers/ experts on LES) could become a handy resource for the community. Or so is the thought.</p>

<p>Questions for LES community:<br />
a. Have you tried to maintain separate domains for blog and main site (or say, portfolio site and main site) ? What method(s) and CMS have you used? <br />
Note: Atlesat one CMS shold be WordPress - to keep the topic in context.<br />
b. Have you tried WordPress multisite? Was it a subfolder or subdomain? What pros and cons do you see for either?<br />
c. Have you merged different domains and brought content under a single roof? Do you see any pros or cons to this approach?</p>

<hr />

<p><strong>First Prompt</strong><br />
Q. I have two websites, both use wordpress. One is the main site with the domain mysite.in. The second site is a blog, on a subdomain blog.mysite.in. I need to merge the two sites. What are my options to merge the blog with the main site? What will be impact on the URLs?</p>

<p>The response from ChatGPT was: (click details to read)</p>

<p></p><details><summary> Response to first prompt</summary>

<p>There are several options to merge the blog with the main site, depending on how you want the merged site to be organized and how you want to handle the existing URLs.</p>

<p><strong>Option 1: Use WordPress Multisite</strong><br />
WordPress Multisite is a feature that allows you to run multiple WordPress sites from a single installation. With Multisite, you can create a network of sites that share the same WordPress core files, but have separate databases and content. In your case, you could use Multisite to merge the blog into the main site and have them both share the same domain (mysite.in). The impact on URLs will depend on how you set up your Multisite installation. You could keep the existing URLs for the main site and blog, or you could choose to restructure the URLs to reflect the new merged site.</p>

<p><strong>Option 2: Merge the blog into the main site manually</strong><br />
If you prefer not to use Multisite, you could merge the blog into the main site manually. This would involve exporting the content from the blog and importing it into the main site. You would also need to copy over any customizations you have made to the blog's theme or plugins. The impact on URLs will depend on how you handle the existing URLs. You could keep the blog's URLs and set up redirects from the old blog URLs to the new URLs on the main site, or you could change the blog's URLs to match the main site's URLs.<br />
**<br />
Option 3: Use a third-party plugin or service**<br />
There are several third-party plugins and services available that can help you merge WordPress sites. These typically involve exporting content from the blog and importing it into the main site, along with any necessary customizations. The impact on URLs will depend on the specific plugin or service you use and how you configure it.</p>

<hr />

<p>vyas comment: Last paragraph, though it may sound like a disclaimer, was quite important - though it is stating the obvious.</p>

<blockquote><div>
  <p>Regardless of which option you choose, it's important to create backups of both sites before attempting to merge them, in case anything goes wrong during the process. </p></div></blockquote></details>


<hr />

<p><strong>Second Prompt</strong></p>

<p>Q. From the above options, if I want to choose the first option- Using WordPress multisite, what are the steps to follow?</p>

<p></p><details><summary> Response to Second prompt</summary><br />
Here are the high-level steps to follow if you want to use WordPress Multisite to merge your blog into your main site:

<p>Back up both sites: Before you begin the merging process, make sure to back up both your main site and your blog. This will allow you to restore your sites to their previous states if something goes wrong during the merge.</p>

<p>Set up WordPress Multisite: If you haven't already, you'll need to set up WordPress Multisite on your main site. You can find instructions on how to do this in the WordPress Codex.</p>

<p>Create a new site: Once you've set up Multisite, you'll need to create a new site for your blog. To do this, log in to your main site's dashboard, go to the "My Sites" menu, and click "Network Admin" -&gt; "Sites" -&gt; "Add New". Fill in the required information, including the site name and URL. The URL should be set to "blog.mysite.in" to match your existing blog's URL.</p>

<p>Install necessary plugins and themes: Install any necessary plugins and themes on the new site to match those on your existing blog.</p>

<p>Export content from the blog: In your blog's dashboard, go to "Tools" -&gt; "Export" and select "All content" to export all of your blog's content. Save the resulting XML file to your computer.</p>

<p>Import content into the new site: In your new site's dashboard, go to "Tools" -&gt; "Import" -&gt; "WordPress" and upload the XML file you exported from your blog. Make sure to check the box to import media attachments.</p>

<p>Set up redirects: If you want to keep the same URLs for your blog posts, you'll need to set up redirects from the old URLs to the new URLs on your main site. You can use a plugin like Redirection to set up these redirects.</p>

<p><strong>Test and refine</strong>: Once you've completed the merge, test your new site thoroughly to make sure everything is working as expected. You may need to refine your site's settings, plugins, and themes to get everything working smoothly.</p>

<p>It's important to note that merging sites can be a complex process, so you may want to consult with a WordPress developer or experienced user if you're not familiar with the process. Additionally, be sure to have a solid backup plan in place before you begin, as the merging process can be risky and may result in data loss if something goes wrong.</p>

<h2></h2></details>

<p><strong>Third Prompt</strong></p>

<blockquote><div>
  <p>Q. Is the above option equivalent to creating a wordpress multisite with a subdomain option?</p>
</div></blockquote>

<p></p><details><summary> Response to third prompt</summary><br />
Yes, creating a WordPress Multisite with a subdomain option is essentially the same as creating a separate site for your blog within your existing Multisite network. In the case of a subdomain Multisite setup, you would create a new site with the subdomain "blog.mysite.in" and install WordPress and any necessary plugins and themes there. You would then export the content from your existing blog and import it into the new site.

<p>Once you've completed the import process, you would then need to configure the site settings, including the site's permalink structure, to ensure that your URLs match the structure of your existing site. You would also need to set up any necessary redirects to ensure that traffic to your old blog URLs is redirected to the new URLs on your main site.</p>

<p>In general, a subdomain Multisite setup is a good option if you want to keep your blog content separate from your main site content, but still have it accessible from the same domain. It can also be a good way to manage multiple sites from a single WordPress installation, and can make it easier to share resources like themes and plugins across your sites.</p>

<p></p></details>

<hr />

<p><strong>Fourth Prompt</strong></p>

<blockquote><div>
  <p>Q. In the above example of moving my blog to wordpress multisite, will I have to change the DNS entries with my domain registrar?</p>
</div></blockquote>

<p></p><details><summary> Response to fourth prompt</summary><br />
It depends on how your DNS entries are currently configured.

<p>If your current blog is hosted on a separate server or hosting account than your main site, and you're moving it to a new site within your existing WordPress Multisite network, then you likely won't need to make any changes to your DNS entries.</p>

<p>However, if your blog is currently hosted on a subdomain (e.g. blog.mysite.in) and you want to move it to a new site within your Multisite network, you may need to update your DNS entries to point the blog subdomain to your main site's server. This will ensure that visitors can still access your blog content at the same subdomain (blog.mysite.in) after the move.</p>

<p>In general, it's a good idea to check with your domain registrar or hosting provider to confirm what DNS changes may be necessary before you begin the move process. They should be able to provide guidance on any necessary changes, and can help ensure that your site remains accessible to visitors throughout the process.</p>

<p></p></details>

<p><strong>Fifth Prompt</strong></p>

<blockquote><div>
  <p>Q. I use cloudflare currently with two sets of DNS entries, one for blog.mydomain.in, other for mydomain.in. This is, because both sites are hosted on different servers which have different ip addresses. Once I opt for wordpress multisite, will my cloudflare entries change?</p>
</div></blockquote>

<p></p><details><summary> Response to fifth prompt</summary><br />
If you opt to use WordPress Multisite to merge your blog into your main site, your Cloudflare DNS entries may need to be updated to reflect the new site structure. Specifically, you will need to update your DNS entries for the blog subdomain (blog.mydomain.in) to point to the same server as your main site.

<p>To do this, you can update the DNS record for your blog subdomain in your Cloudflare dashboard to point to the IP address of your main site's server. This will ensure that visitors can still access your blog content after the merge.</p>

<p>It's important to note that Cloudflare may take some time to propagate these changes across its network, so there may be a brief period during which your blog is unavailable after the merge. However, this downtime should be minimal if your DNS changes are made correctly and efficiently.</p>

<p>In general, it's a good idea to check with your hosting provider and/or Cloudflare support to ensure that your DNS changes are made correctly and that your site remains accessible to visitors throughout the process.</p>

<p></p></details>

<hr />

<p><strong>Sixth Prompt</strong></p>

<blockquote><div>
  <p>Q. From the three options of merging my blog, let us say I want to opt for option 2:  Merge the blog into the main site manually. What will be the steps I will need to follow?</p>
</div></blockquote>

<p></p><details><summary> Response to sixth prompt</summary><br />
Merging your blog into your main site manually can be a bit more complex than using WordPress Multisite, but it can be a good option if you want more control over the process. Here are the general steps you will need to follow:

<p>Back up your existing blog: Before you begin the merge process, it's important to back up all of your blog content, including posts, pages, comments, media files, and any customizations you've made to your blog's theme or plugins. You can use a plugin like UpdraftPlus or BackupBuddy to create a full backup of your site.</p>

<p><strong>Install WordPress on your main site</strong>: If your main site doesn't already use WordPress, you'll need to install it first. You can do this manually by downloading the WordPress software from WordPress.org and uploading it to your main site's hosting account, or you can use a one-click installer provided by your hosting provider.</p>

<p><strong>Export your blog content</strong>: In your existing blog's WordPress dashboard, navigate to Tools &gt; Export. Select "All content" and click the "Download Export File" button to save an XML file containing all of your blog content to your computer.<br />
**<br />
Import your blog content**: In your main site's WordPress dashboard, navigate to Tools &gt; Import. Choose the "WordPress" option and install the WordPress importer plugin if necessary. Upload the XML file you exported in step 3 and follow the prompts to import your blog content into your main site.</p>

<p><strong>Configure your main site</strong>: Once your blog content has been imported, you will need to configure your main site's settings to reflect your new site structure. This may include updating your site's permalink structure to match your blog's URLs, setting up any necessary redirects, and configuring your site's theme and plugins to display your blog content as desired.</p>

<p><strong>Test and troubleshoot</strong>: Once you've completed the merge process, it's important to thoroughly test your main site to ensure that all of your blog content is displaying correctly and that there are no broken links or other issues. You may also need to troubleshoot any issues that arise, such as formatting or display issues with your imported content.</p>

<p>Overall, merging your blog into your main site manually can be a time-consuming process, but it can give you more control over the end result. If you're not comfortable with the technical aspects of the merge process, you may want to consider working with a WordPress developer or other professional to help guide you through the process.<br />
</p></details>

<hr />

<p><strong>Seventh Prompt</strong></p>

<blockquote><div>
  <p>Q.From a seo and site maintenance perspective: Which option is preferred? Having a blog as a subdomain, or merge the blog into the main site?</p>
</div></blockquote>

<p></p><details><summary> Response to seventh prompt</summary><br />
From a SEO and site maintenance perspective, <em>merging your blog into your main site is generally preferred</em> over having a separate blog subdomain. Here are a few reasons why:

<p><strong>Improved SEO</strong>: When you merge your blog into your main site, you consolidate all of your content into a single domain, which can help to improve your site's overall search engine rankings. This is because search engines tend to prioritize domains with high-quality, authoritative content, and having all of your content on a single domain can help to establish your site as an authority in your niche.<br />
**<br />
Easier site maintenance**: Maintaining a single site is generally easier than maintaining multiple sites or subdomains. When your blog is integrated into your main site, you can manage all of your content from a single WordPress dashboard, which can simplify your workflow and make it easier to keep your site up-to-date.</p>

<p><strong>Better user experience</strong>: Having a single, unified site can provide a better user experience for your visitors, as they can easily navigate between your main site and your blog without having to switch domains or subdomains. This can help to keep visitors engaged with your site and encourage them to explore more of your content.</p>

<p>That being said, there are some cases where having a separate blog subdomain may be preferable. For example, if your blog covers a completely different topic or audience than your main site, it may make sense to keep them separate. However, in most cases, merging your blog into your main site is the better option for SEO and site maintenance purposes.</p>

<h2></h2></details>

<p><strong>Eighth Prompt</strong></p>

<blockquote><div>
  <p>Q.My main site mydomain.in is on WordPress. However, I want to use a different content management system for my blog, which is on a subdomain. I want to host both mydomain.in and blog.mydomain.in on the same server. What should my setup look like?</p>
</div></blockquote>

<p></p><details><summary> Response to eighth prompt</summary><br />
If you want to use a different content management system for your blog, you can still host both your main site and your blog on the same server. Here's what your setup could look like:

<p><strong>Choose your content management system</strong>: First, you'll need to choose a content management system (CMS) for your blog. Some popular options include Ghost, Drupal, and Joomla. Be sure to choose a CMS that can be installed on your server and that is compatible with your hosting environment.</p>

<p><strong>Install your CMS</strong>: Once you've chosen your CMS, you'll need to install it on your server. This process will vary depending on the CMS you choose, but most will require you to create a database and user account, upload the CMS files to your server, and run an installation script.</p>

<p><strong>Configure your blog subdomain</strong>: Next, you'll need to configure your blog subdomain to point to your CMS installation. This will involve creating a new subdomain in your domain registrar or hosting control panel and pointing it to the directory where you installed your CMS.</p>

<p><strong>Configure your server</strong>: Depending on your server setup, you may need to configure your server to handle requests for your blog subdomain separately from your main site. This may involve configuring virtual hosts in your web server or setting up a reverse proxy to redirect requests to your CMS.</p>

<p><strong>Link your main site and your blog</strong>: Finally, you'll need to create links between your main site and your blog to make it easy for users to navigate between the two. This could involve adding a menu item to your main site's navigation menu that links to your blog, or adding a widget or link in your blog's sidebar that links back to your main site.</p>

<p>Overall, hosting both your main site and your blog on the same server with different content management systems can be a bit more complex than hosting them both on the same CMS, but it can give you more flexibility and control over your site. Be sure to follow best practices for server security and regularly update your CMS and server software to ensure your site stays secure and up-to-date.</p>

<p></p></details>

<hr />
]]>
        </description>
    </item>
    <item>
        <title>Woocommerce without js?</title>
        <link>https://lowendspirit.com/index.php?p=/discussion/5388/woocommerce-without-js</link>
        <pubDate>Wed, 01 Feb 2023 15:56:12 +0000</pubDate>
        <category>WordPress</category>
        <dc:creator>fawai</dc:creator>
        <guid isPermaLink="false">5388@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Being on low end I wonder can a web running it without js? A simple blog can do with php/html + css, but a shop with payment gateway?</p>
]]>
        </description>
    </item>
    <item>
        <title>JetApps to aquire Backupguard (wp plugin)</title>
        <link>https://lowendspirit.com/index.php?p=/discussion/5330/jetapps-to-aquire-backupguard-wp-plugin</link>
        <pubDate>Mon, 23 Jan 2023 08:28:30 +0000</pubDate>
        <category>WordPress</category>
        <dc:creator>Ympker</dc:creator>
        <guid isPermaLink="false">5330@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>I remember there was a Backupguard LTD on Appsumo a while back. I ended up skipping it though. Just saw this on a FB group:</p>

<p><img src="https://lowendspirit.com/uploads/editor/fr/ygqhd10eatfz.jpg" alt="" title="" /></p>
]]>
        </description>
    </item>
    <item>
        <title>WordPress survey plug-in</title>
        <link>https://lowendspirit.com/index.php?p=/discussion/4960/wordpress-survey-plug-in</link>
        <pubDate>Sat, 26 Nov 2022 12:59:11 +0000</pubDate>
        <category>WordPress</category>
        <dc:creator>forces</dc:creator>
        <guid isPermaLink="false">4960@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>I wonder if there are any survey plug-in for WordPress that can auto convert the survey answers into numbers and generate an excel file?</p>
]]>
        </description>
    </item>
    <item>
        <title>The SEO Framework Pro on a 50% sale</title>
        <link>https://lowendspirit.com/index.php?p=/discussion/4896/the-seo-framework-pro-on-a-50-sale</link>
        <pubDate>Fri, 18 Nov 2022 10:59:05 +0000</pubDate>
        <category>WordPress</category>
        <dc:creator>bikegremlin</dc:creator>
        <guid isPermaLink="false">4896@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>My favourite WordPress SEO plugin, The SEO Framework (TSF), is on a 50% sale right now:</p>

<p><a rel="nofollow" href="https://theseoframework.com/pricing/" title="https://theseoframework.com/pricing/">https://theseoframework.com/pricing/</a></p>

<p>Basically, you get a very good SEO plugin + a great spam-protection extension included. I love it. For (a lot <img src="https://lowendspirit.com/plugins/emojiextender/emoji/twitter/smile.png" title=":)" alt=":)" height="18" /> ) more details: my <a rel="nofollow" href="https://io.bikegremlin.com/17549/the-seo-framework-pro-review/" title="The SEO Framework Pro review">The SEO Framework Pro review</a>.</p>
]]>
        </description>
    </item>
    <item>
        <title>Minimal Wordpress Theme</title>
        <link>https://lowendspirit.com/index.php?p=/discussion/4865/minimal-wordpress-theme</link>
        <pubDate>Thu, 10 Nov 2022 18:47:01 +0000</pubDate>
        <category>WordPress</category>
        <dc:creator>Astro</dc:creator>
        <guid isPermaLink="false">4865@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Does anyone know of minimal themes similar to <a href="https://julian.digital" rel="nofollow">https://julian.digital</a>? I quite enjoy the design of the site and was wondering if there is an off the shelf option I could possibly pick up.</p>
]]>
        </description>
    </item>
    <item>
        <title>WP 6.1. health check glitch - Caching warning</title>
        <link>https://lowendspirit.com/index.php?p=/discussion/4862/wp-6-1-health-check-glitch-caching-warning</link>
        <pubDate>Thu, 10 Nov 2022 06:02:10 +0000</pubDate>
        <category>WordPress</category>
        <dc:creator>bikegremlin</dc:creator>
        <guid isPermaLink="false">4862@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>For anyone worried about WordPress health check showing this:<br />
"Page cache is not detected but the server response time is OK"</p>

<p>It's a known bug in the reporting, doesn't mean there's anything wrong with caching:</p>

<p><a href="https://wordpress.org/support/topic/page-caching-not-detected/" rel="nofollow">https://wordpress.org/support/topic/page-caching-not-detected/</a></p>
]]>
        </description>
    </item>
    <item>
        <title>WordPress Dark mode and accessibility?</title>
        <link>https://lowendspirit.com/index.php?p=/discussion/4843/wordpress-dark-mode-and-accessibility</link>
        <pubDate>Mon, 07 Nov 2022 08:36:48 +0000</pubDate>
        <category>WordPress</category>
        <dc:creator>bikegremlin</dc:creator>
        <guid isPermaLink="false">4843@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Can anyone recommend a decent-quality plugin (they've used) that allows visitors to enable a dark mode on a site?</p>

<p>Preferably (ideally), it would also enable visually impaired people to navigate the site:</p>

<ul>
<li>Navigating the site using the keyboard only (not everyone can see the mouse pointer).</li>
<li>Making any changes that help auto-readers work properly.</li>
<li>Increasing font size (I know there's an in-browser option to "zoom," so this would be a nice extra).</li>
</ul>

<p>Google is full of "top X plugins" that are obviously written without any testing with a blind person. So rubbish.  <img src="https://lowendspirit.com/plugins/emojiextender/emoji/twitter/frown.png" title=":(" alt=":(" height="18" /></p>

<p>PS:<br />
It's now called "A11y," short for "A<strong>ccessibilit</strong>y" (11 letters between the "A" and "y"). Lol.  <img src="https://lowendspirit.com/plugins/emojiextender/emoji/twitter/smile.png" title=":)" alt=":)" height="18" /></p>
]]>
        </description>
    </item>
    <item>
        <title>WordPress database optimization</title>
        <link>https://lowendspirit.com/index.php?p=/discussion/4763/wordpress-database-optimization</link>
        <pubDate>Tue, 25 Oct 2022 19:25:34 +0000</pubDate>
        <category>WordPress</category>
        <dc:creator>bikegremlin</dc:creator>
        <guid isPermaLink="false">4763@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>I've played a bit with the <a rel="nofollow" href="https://wordpress.org/plugins/index-wp-mysql-for-speed/" title="Index WP MySQL For Speed plugin">Index WP MySQL For Speed plugin</a> (WP.org link).</p>

<p>Apparently, WordPress does not really shine when it comes to optimizing its DB table searches. This plugin supposedly helps add some keys to make the indexing of the often-used stuff faster.</p>

<p>Looks good for now (tested on staging and one website).</p>

<p>Of course, I wrote an article about <a rel="nofollow" href="https://io.bikegremlin.com/30494/wordpress-database-optimization/" title="WordPress database optimization">WordPress database optimization</a>, with a bit more details and a brief tutorial on how the above-noted plugin is used, in addition to LiteSpeed Cache and Advanced Database Cleaner Pro plugin for cleaning and improving the DP performance.</p>
]]>
        </description>
    </item>
    <item>
        <title>Webp support from WordPress 6.1</title>
        <link>https://lowendspirit.com/index.php?p=/discussion/4422/webp-support-from-wordpress-6-1</link>
        <pubDate>Fri, 05 Aug 2022 19:13:42 +0000</pubDate>
        <category>WordPress</category>
        <dc:creator>vyas</dc:creator>
        <guid isPermaLink="false">4422@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Looks like Wp 6.1 is getting Webp support</p>

<p><a href="https://wptavern.com/webp-by-default-merged-into-core-for-wordpress-6-1" rel="nofollow">https://wptavern.com/webp-by-default-merged-into-core-for-wordpress-6-1</a></p>

<p>Looks like Shortpixel or similar image conversion tools (that convert to webp) may not be needed. Personally, I optimize and convert image before uploading. Others prefer the tools to do the honours.</p>

<p>What do you guys think? Excited? Disappointed? No opinion???</p>

<p>Chime in.</p>
]]>
        </description>
    </item>
   </channel>
</rss>
