A fixed maintenance window every month, how do sites arrange their own maintenance plans

📅 2026-11-01 👁️ 0

What about the site's maintenance plan for a fixed patch window every month? Align the window with the upstream fixed rhythm, and then schedule it in three stages: 'prepare one week before the window, only process the matched items on the day of the window, and verify and keep records after the window'. The upstream can align because they are also fixed: the Drupal core scheduling page reviewed on the day writes that the third Wednesday of each month (Coordinated Universal Time) is the security version release window. After the plan is fixed, maintenance changes from 'running after the announcement' to 'executing according to the calendar'.

Why does the upstream choose a fixed window

The fixed window is used to allow dependent parties to reserve personnel. In addition to Drupal's third Wednesday of each month, the release rhythm of WordPress is also announced in advance: the release page reviewed on that day indicates that Beta 1 will be released on October 20th, the candidate version on November 17th, and the official version on December 8th. A new default theme will be included with the new version. These two rhythms are one per month and one per year, but they can all be written into the calendar in advance, and there is no need for the site to use temporary overtime to deal with expected events.

What should be prepared in the week before the window?

Only three things are done in the preparation stage: list, backup, and grouping.

Stage Action Completion standards
One week before the window Export the program version and list of extended components, compare the impact range of the upstream announcement Be able to list two lists: 'Hit items' and 'Non-hit items'
One week before the window Run a full backup and simulate recovery Record the time taken to recover and confirm that the data (including static files) can really come back
Three days before the window Group the site according to the exposure surface, determine which group to move in this window Each group has a rollback point and person in charge
The day of the window Only update the hit items, do not change the function or theme Each action can be rolled back individually
Two days after the window Review the version, cache, response header and key process Archive the review records, and abnormal items back to the tracking list

The backup exercise is often skipped, but it is exactly the premise of whether the window can be held: without recoverable backups, anyone will choose 'let's not move this time' on the day of the window.

What to do and not to do on the day of the window

Only do the hit entries on the day. Three forbidden actions: do not upgrade the components not hit by hand, do not do template versioning, do not merge feature releases. The reason is that two types of changes are mixed together in the same day, it is not clear to attribute the cause when problems arise, and the rollback also needs to remove irrelevant changes.

Content scheduling should be avoided in advance. Use scheduled publishing to place marketing content outside the window, do not squeeze batch deployment and maintenance in the same period; hold the manuscripts in the window period first, and release them after the re-examination is passed. It is reliable to send the maintenance records to the relevant personnel by email on the day of the window, rather than补叙 in the group after the event.

Verification and record after the window

Perform a retest in four steps: Check if the version is truly within the repair range; clear program and external caches; check if the response headers of critical addresses are still publicly cacheable; run the core business process (submit forms, log in to the background, generate pages). The record format is fixed to three columns: what was changed, verification results, rollback point location.

The deployment method determines the speed of this step. For sites deployed with Docker images, rollback means rolling back to the previous tag and pulling up, which is minute-level; for sites deployed with Baota panel or LNMP commands, rollback involves the database and site directory, so the recovery exercise before the window is particularly important. No matter how stable the window arrangement is, there must be a way to go back.

Common questions

Is it necessary to keep the window open when the upstream issues an emergency notice temporarily?Emergency notices are processed by classification: anonymous and already in the wild can trigger a small window separately on the same day; the rest are still included in the nearest regular window.

Is it too sparse to happen once a month?It is sufficient for small stations that do not hit any entries. High-risk sites can bring the 'verification list' up to once a week, but the upgrade actions are still concentrated in a fixed window.

How to arrange for multiple sites to share one machine?Group by exposure surface, small stations first, main stations next, and leave time for re-examination between each group; the deployment of processes sharing the same process group will affect the recovery time, and this point should be taken into account when scheduling the window length.

Related articles

The patch says the problem has been fixed but it's still there, why do we need to patch it again?

The first patch not fixed cleanly is the norm rather than the exception: the upstream will issue a follow-up announcement for the same defect again, indicating that the fix only covers part of the code path or exposed surface. After applying the patch, it is still necessary to verify four things - whether the version is really in the fixed range, whether the page cache still contains old content, whether the response header still exposes objects that should not be cached, and whether the rollback point is still there. The cost of verification is far lower than that of a second vulnerability being exploited, and it is also safer than blindly applying another patch.

2026-11-01

After one year, more than 50,000 vulnerability records have been accumulated, how should the stations be processed in order?

The library contains over 50,000 records accumulated over the years, covering the total of the plugin ecosystem, which is not equal to the to-do list of this site. The processing order is divided into three steps: first, reduce the component list to the entries truly related to this site, then classify by whether an account is needed and whether it can be triggered remotely, and finally decide which one to move first by the backup and rollback capabilities. The total number of libraries reviewed on the day and the impact range of the announcement module on the content side can all be rearranged in this order, rather than chasing each entry in the order of the entry time.

2026-11-01

Can adding data to the content increase the proportion of what AI can see?

Adding data to the content indeed increases the visibility to AI, with the scope on the day of review being about 41% increase in AI visibility after adding statistics. The premise is that the data must be accompanied by scope, time, and source, and it should fall within the conclusion section. The style that can be extracted independently is: give the conclusion at the beginning of the paragraph, followed by a sentence with the subject number and source, and then use a comparison table to reveal the differences. The title and description can be understood without relying on the text.

2026-11-01

Most of the content cited by AI is not more than a year old, should old articles be rewritten?

A majority of the content referenced by AI is not more than one year old, which does not mean that all old articles need to be rewritten. The two standards on the day are: about 65% of the content summarized and referenced by AI comes from within the past year, and the overall referenced content is 25.7% newer than the natural results. The correct approach is to first classify and then decide on actions: update the time and data for time-sensitive types, maintain the structure for evergreen types and only make corrections, move the truly outdated ones to the recycling station, and use 301 redirects to preserve the existing entry points when changing addresses.

2026-11-01

The major versions of the program are all released in the first week of December, how to stagger the upgrade window?

Mid-December, that week was busy with two things: the release of a new major version and the discontinuation of the old version, with human resources and verification windows overlapping. The solution is to group sites by exposure, starting with small stations and then the main stations, leaving time for re-examination between batches, and scheduling content release outside of the window using timed publishing. When multiple sites share a single backend, grouping and batching is the premise of continuous business, and the rollback speed depends on the deployment method.

2026-11-01

Where does the difference lie in a self-built program that can run with 1GB of memory and 256MB?

The difference in memory threshold of self-built programs mainly comes from the running mode rather than the number of functions: the stack of resident application servers and databases consumes more memory than the combination of single-process running and lightweight storage. The criteria reviewed that day clearly divides the two types of thresholds, and the selection should be judged by three factors: concurrency, whether multiple sites are shared, and whether expansion is necessary, rather than ticking off the feature list. Memory usage belongs to the official approximate criterion and cannot be taken as an exact multiple.

2026-11-01

When connecting a large model, should it be done using a third-party module or the built-in capability, and where do the risks differ?

The risks of the two routes differ in who holds the key and permissions, and whether the entry point of the capability is controlled. The third-party module packages the model key, write permissions, and call links into the extension, and needs to be upgraded in bulk once the upstream issues an announcement; the built-in capability converges the entry point within the program, and can set the exposure range by domain and perform operation approval by round. The selection should consider the density of announcements and the boundary of permissions, not just whether this feature exists.

2026-11-01

After AI capabilities have entered the CMS, why should the backend also be treated as an attack surface?

The AI capability allows the backend to go from 'viewing content' to 'acting': one conversation can write libraries, modify configurations, and adjust interfaces, making the login state and interface credentials high-value targets. The management approach is to tighten up three types of login-free interfaces separately, set exposure ranges according to capability domains and retain operational approval, while also focusing on security changes at the version level. The two types of high-risk issues fixed in the current version exactly illustrate that the input on the backend side and the login tickets should be treated as attack surfaces.

2026-11-01