All Activity
- Today
-
Module: AIOM+ (All In One Minify) for CSS, LESS, JS and HTML
matjazp replied to David Karich's topic in Modules/Plugins
Sorry for late reply. Is this something new, did you upgrade the module or is this new install? AIOM doesn't inject admin bar, I guess it should be there, if you have permission to use it (I don't know the module). Is it better if you don't use html minify option? Empty cache just remove css/js files so they are regenerated next time. Will take a look when I have more time. -
That's why GitHub Issues exist. π
-
Peter Knight started following Ichiban - SEO control center
-
True - that would be amazing. But also, think about 22,000 support tickets? π«£
-
I recently started to use more desktop apps, in this case OpenCode Desktop, which is quite similar to OpenAI Codex and the Claude Desktop app, but actually available for Linux. One great feature is Git worktrees support. They just work with NextJS, AstroJS, HonoJS but not with ProcessWire in my DDEV setup. I'm not sure if anyone else already found a great solution or maybe even built a module, script or anything like that (and I couldn't find anything) to support Git worktrees in DDEV environments with almost no manual intervention, so... I asked my agent to help me. I just pushed the inital/experimental version to Github. I tested it quite a bit with two projects locally in my setup and it works on my machine. https://github.com/webmanufaktur/processwire-ddev-worktree This is more like a proof-of-concept than a stable release. In case you want to test it, maybe don't. Or at least not with important projects. There might be plenty of edge-cases it won't handle right now or even break things on your machine. But it just solved a pretty big problem (for me) I ran into today. Look into it, feel free to fork it or send a PR.
-
- 1
-
-
Also checked BuiltWith β there are 22,000+ live ProcessWire sites out there. Would love to see Ichiban running on as many of them as possible someday. π
-
Thanks for the kind words, Peter! This actually gave me the push to keep going - after several iterations I had almost given up on building something substantial, because every popular CMS already has mature SEO tooling. I went through Yoast, RankMath, SEOmatic, and a bunch of others, took notes on what worked and what didn't, and tried to bring the best of it to ProcessWire. Still a long way to go, but the foundation is there. Looking forward to seeing SEO NEO when it's ready too - good SEO tooling for ProcessWire benefits everyone!
-
Collections β Airtable-style data management for ProcessWire
maximus replied to maximus's topic in Modules/Plugins
Thanks for the kind words! I have a month's worth of modules, not as big as Collections, Ichiban, or Context, but very useful. Usually, when I run into a problem, I try to solve it right away using a module so that other users can use it in the future. -
PW 3.0.261 β Core updates + AgentTools updates
adrian replied to ryan's topic in News & Announcements
Another findRaw() deprecation which will throw an exception from these new core updates. If you try to do "image.filename" or any other image subfield, you'll get: ProcessWire\\WireException: Unknown column name(s) for findRaw: image.filename Just use "image" and it will work. -
Collections β Airtable-style data management for ProcessWire
jacmaes replied to maximus's topic in Modules/Plugins
@maximus I can confirm that all the bugs are now fixed. As @wbmnfktr said, the concept and execution are top notch. I'm now looking forward to a new module from you every week! No pressure !!ππ -
If you want to try cheaper models, while the same experience as Claude Code, check out Deepseek TUI, or Openecode or Aider for multi model.
-
Module: Video embed for YouTube/Vimeo (TextformatterVideoEmbed)
psy replied to ryan's topic in Modules/Plugins
Iβve been using `TextformatterVideoEmbed` for YouTube/Vimeo embeds and made a small local patch that seems generally useful for generated iframe output. The change adds two attributes to generated iframe embeds when they are not already present: ```html loading="lazy" referrerpolicy="strict-origin-when-cross-origin" ``` This is independent of any consent/privacy module. It simply improves the default iframe markup produced by `TextformatterVideoEmbed`. The intended behavior is: - add `loading="lazy"` to iframe embeds by default - add `referrerpolicy="strict-origin-when-cross-origin"` by default - do not override either attribute if it already exists in the iframe markup - keep existing embed behavior unchanged otherwise Example implementation pattern: ```php if(stripos($embedCode, ' loading=') === false) { $embedCode = preg_replace('/<iframe\b/i', '<iframe loading="lazy"', $embedCode, 1); } if(stripos($embedCode, ' referrerpolicy=') === false) { $embedCode = preg_replace('/<iframe\b/i', '<iframe referrerpolicy="strict-origin-when-cross-origin"', $embedCode, 1); } ``` Reasoning: - Native iframe lazy loading is now widely supported and helps avoid loading off-screen video embeds unnecessarily. - `strict-origin-when-cross-origin` is also the modern browser default in many contexts, but making it explicit gives generated third-party embeds a safer baseline. - The change is low risk because it only applies to iframe markup and skips attributes already present. Would this be suitable as a small PR to the module? If preferred, it could also be exposed as module config options rather than hardcoded defaults. -
sz-ligatur started following GitSync β Keep your (private) modules in sync with GitHub
-
Hello everyone, We're slowly working through our site and moving things into modules for antarctica.gov.au, in the process we hope to open source some handy things we've built over the years. As we operate in Microsoft heavy corporate environment, we've noticed more and more strange looking links getting pasted into our site. These are Microsoft protected links and are a 'intercept' link that attempts to check the link is legit before letting the user proceed to the original URL. These links get automatically made when a user copies a link from Outlook/Teams/Office. The issue is, these links leak data in the URL parameters, including the email address of who has copied the link! Hence, we wrote two companion modules to find and format these links. First is TextformatterMicrosoftProtectedLinks which formats the links at render time. Second is FormatMicrosoftProtectedLinks which replaces the link with the original URL when saving the page. We provided both modules as it depends on your preference. Some people like to leave the page content as the original (including the protected link), others like to replace this. Let us know if you notice any issues using these modules.
-
- 5
-
- Yesterday
-
elabx started following Long saving time, how to debug
-
There is a panel on tracy to see all the database queries executed, maybe something there?
-
dotnetic started following Web Developer Needed for HTML/CSS/JS Website Implementation
-
Dear @Nomak, your project sounds straightforward and well-prepared. Since you already have a fully completed design and will handle the backend yourself, I can focus entirely on delivering clean, responsive, and high-performance frontend code. Here is why I am a great fit for this project: Location & Legal: I am based in the EU (Germany) and will provide a valid EU VAT ID for proper, hassle-free invoicing. Experience & Modern Tech Stack: I have been working in web development since 1995, meaning I understand the core of the web inside out. However, I always stay on the cutting edge. For modern, responsive, and maintainable styles, I highly leverage Tailwind CSS, alongside clean HTML and robust JavaScript. Efficiency through AI: I actively integrate modern AI tools into my workflow, which allows me to speed up the development process, optimize code efficiency, and deliver high-quality results faster. Responsive Execution: Ensuring a seamless experience across desktop, tablet, and mobile devices is standard practice in my work. You can convince yourself of the quality of my work by taking a look at my portfolio: π dotnetic.de/referenzen I would love to realize this project with you. Letβs connect to discuss the details and the design template. Best regards, Jens
-
Thanks for the write-up, @ryan.
-
@zilli I'm kind of just getting started too, as a couple of months ago I knew nothing about Claude Code or Codex or any of the other tools. I also felt overwhelmed which led me to avoid the AI stuff for awhile. Too much noise. But my client started using Claude Code and I started getting interested in it. Start with Claude Code or Codex, they are basically identical. Codex is a better value overall IMO, but Claude might be slightly easier to start with. To get started, install Claude or Codex (use instructions on their site). If using Claude, and you have a choice of "model" choose "Sonnet". Claude's premium model is "Opus" but they don't give you enough usage of it on the $20/month plan. Whereas Sonnet is still very smart and lasts for quite awhile on the $20/month plan. If using Codex, you'll get GPT 5.5 which is their latest model and you get plenty of usage on the $20 plan. That's why I say Codex is a better value. The best way to get started is just start asking Claude or Codex questions about how to do things. Create a hello-world/ directory somewhere on your localhost. If you are comfortable with the terminal, go to the directory and type "claude" (or "codex"). It will ask you to login to your Claude or OpenAI account. Then you are ready to go. If not comfortable with the terminal, then stick to the Claude or Codex desktop apps, which can do just as much and maybe more. Ask Claude or Codex to do something like "create a hello-world.html file" just to get a feel for how it works. Ask it to continue making edits to it just for fun. Once you feel comfortable with this, then you are ready to use it in ProcessWire. No need to start creating any .md files at first. Once you get going, ask Claude when/if you should create a CLAUDE.md file (or AGENTS.md for Codex and others, same thing). These files are really only useful once you are working on an actual project and want to provide instructions in a file that gets read every time, rather than pasting them into a prompt. But technically there's very little difference between providing something in an .md file and just providing it in a prompt, at least until it comes time to /compact or /clear (but you can learn about that later). Both Claude and Codex are already well trained on ProcessWire, and they don't need to read the codebase unless they want to. But I do think it's beneficial to run the latest dev branch version of ProcessWire, which includes documentation for AI agents built in. Installing the AgentTools module will be worthwhile for Claude or Codex to be able to most effectively use ProcessWire's API and use built-in tools for pulling documentation, site/schema maps and booting ProcessWire on its own. You don't need to configure any agents in AgentTools for this kind of usage. Just install the module and tell Claude/Codex to go read the /site/modules/AgentTools/AGENTS.md file, and it will be ready to do anything in ProcessWire. If you later want to add agents in AgentTools, that will let you use Claude/Codex inside of the ProcessWire admin for making edits, creating migrations, etc. But you don't need that to get started. I haven't yet even tried any tools other than just plan Claude and Codex (and AgentTools)--so far I haven't felt like I need anything more. I'm also not using any MCP servers. The others here can better speak to those tools and such. Every morning while making and eating breakfast, I do watch YouTube videos on using Claude and Codex though. It's become part of my boot up sequence. π
-
Using AI with ProcessWire: Where Do I Even Start?
szabesz replied to zilli's topic in Getting Started
Hello, I have not yet used Codex, but I've been using Claude Code for three weeks, but not yet for ProcessWire projects, but I will surely use it for ProcessWire projects too. I recommend watching some good tutorials first, like: https://youtu.be/uogzSxOw4LU Next, setup the MCP servers you need, I recommend https://context7.com/ and @Peter Knight's PromptWire, and any other MCP servers Context 7 cannot help with. For connecting to systems, I recommend composio.dev Also, do not forget: https://processwire.com/modules/agent-tools/ After you have setup Claude Code in Cursor (for example), just ask Claude whenever you need info on anything. And make full backups regularly, AI can screw things up fast... ;) -
Congrats Maximus. Looks like a really impressive set of SEO tools. π
- Last week
-
Hi everyone, I've been timing my bigger releases with the lunar cycle β new moon for launches, full moon for milestones. Collections shipped on the full moon two weeks ago. Tonight the moon is invisible. The module isn't. π GitHub: https://github.com/mxmsmnv/Ichiban Why Ichiban? Ichiban (δΈηͺ) is Japanese for "number one" β fitting for an SEO module whose entire purpose is to help your pages rank first. Why another SEO module? There hasn't been a comprehensive SEO module for ProcessWire for a while. Yoast and RankMath solve this for WordPress β both charge $59β$99/year for the full feature set. Ichiban is MIT, free, and built specifically for ProcessWire. What it does Page field β five-tab editor per page: Meta (Google-style SERP preview), Social (OG + Twitter/X cards), Schema, Sitemap, Advanced. Render with echo $page->seo; or enable auto-injection. Source expressions β resolve field values dynamically: title|truncate:70 field:summary|truncate:160 {splash} Admin sections: Dashboard β battery-style site score, health stats, GSC highlights, indexing issues Bulk Editor β edit all meta titles/descriptions in one table, grouped by Critical/Warnings/Healthy Audit β site-wide SEO rule checks, priority cards, CSV export, hookable rule system Redirects β 301/302/307/410/451, regex rules, hit counts, CSV import/export, auto-redirects on slug change Insights β Google Search Console OAuth, metrics, top pages/queries, countries, devices, URL Inspection scan Backlinks β Moz API snapshots, cached history, links/domains/anchors views Schemas β database-backed Schema.org builder, map properties to PW fields Revisions β tracked SEO field changes with restore Cleanup β remove low-value head tags, block spam crawl queries Migration β SeoMaestro β Ichiban converter (15 fields mapped) Reports β scheduled SEO email reports, DOCX export AI β OpenRouter-backed SEO prompt workspace with Context module integration XML Sitemap β built-in generator with hreflang, image sitemap, LazyCron auto-regeneration IndexNow β one-click key generation and verification robots.txt / llms.txt β dynamic serving (companion to RobotsTxt module) Known alpha limits GSC requires a Google OAuth client setup β not plug-and-play Moz free API quota is very small β refresh intentionally Schema Builder is alpha β test before production Auto head injection can conflict with existing theme SEO tags β use manual echo $page->seo; first SeoMaestro migration is experimental β always backup before running Disable debug mode before production Requirements: ProcessWire 3.0.200+, PHP 8.1+ MIT License β free, no Pro tier, no upsell.
- 5 replies
-
- 14
-
-
How much RAM does your new M5 Mac have? Hopefully you got 96 or 128GB if you're looking to run local LLMs. A lot is happening in this space; see DwarfStar 4: https://github.com/antirez/ds4
-
Using AI with ProcessWire: Where Do I Even Start?
Peter Knight replied to zilli's topic in Getting Started
Hi Zilli PromptWire is available, and it handles 100% of my AI development in ProcessWire. It's built as an MCP from Cursor to AI, and it's free. https://www.peterknight.digital/docs/promptwire/ It can build almost anything with the right prompts, and it's really quite powerful. Any questions, just DM or reply here. Cheers Peter -
Hi @Nomak I am interested in assisting with the frontend development of your website. I have experience building responsive websites using HTML, CSS, and JavaScript, with strong attention to clean code, performance, and cross-device compatibility. I understand that the design is already finalized. I can focus entirely on implementing the frontend according to the provided layouts and ensuring full responsiveness across desktop, tablet, and mobile devices. Please feel free to share the design files and any technical requirements or timelines. Happy to discuss the project further. Good Day Deep
-
Hey @ryan and fellow AI enthusiasts, This might be slightly off-topic, but I think it could be really valuable for the ProcessWire community if someone created a practical guide or tutorial on building projects with PW and AI tools. Iβm new to this space, and honestly, it feels a bit overwhelming because there are so many different approaches and workflows. For example, after installing Codex or Claude, whatβs the next step? Should I create specific .md files for context or instructions? If so, which ones? Is it better to have the AI read the entire ProcessWire codebase first, or should I simply ask it to build a module or website directly? Iβd really appreciate any guidance, workflow examples, best practices, or general tips from people already using AI successfully with ProcessWire.
-
I can recommend OpenCore Legacy Patcher for upgrading macOS on older Macs. You could upgrade your iMac to Sonoma with it. π
-
@Peter Knight The iMac still runs great, and it's 27" 5k screen is hard to be beat. The problem is that because of its age I can't upgrade past Ventura. And they are no longer even making security updates for Ventura. So I didn't think upgrading was optional anymore. I had wanted to get a Mac Mini, but those are impossible to get right now, plus they don't even make a Mac Mini with the M5 chip yet. Whereas the Macbook Air seems to be on sale everywhere, and it seemed like the best option available at this time. I'm basically using it as a desktop computer (external monitors, keyboard, mouse). My old iMac has quite a bit of memory in it, and still "feels" fast in everyday use, so I'm going to keep to keep it around to experiment with local LLMs, slowly. I have always started fresh when it comes to new computers. That's probably why it takes me so long to get it set up. π