[00:00:19] Nathan Wrigley: Welcome to the Jukebox Podcast from WP Tavern. My name is Nathan Wrigley.
Jukebox is a podcast which is dedicated to all things WordPress. The people, the events, the plugins, the blocks, the themes, and in this case the future of theme development.
If you’d like to subscribe to the podcast, you can do that by searching for WP Tavern in your podcast player of choice, or by going to wptavern.com/feed/podcast, and you can copy that URL into most podcast players.
If you have a topic that you’d like us to feature on the podcast, I’m keen to hear from you and hopefully get you, or your idea, featured on the show. Head to wptavern.com/contact/jukebox, and use the form there.
So on the podcast today, we have Rob Ruiz. Rob has been involved in the WordPress ecosystem since around 2010. He began as a designer, but over the years WordPress has helped him transition into a developer, software engineer, and now an architect. Currently, he’s working full-time at an agency whilst taking on side projects independently.
The main topic for today’s conversation, centers around themes, a subject that hasn’t been covered in depth on the podcast for quite some time. You see, Rob is the current custodian of WP Rig, a free and open source toolkit for WordPress theme development. WP Rig offers a modern, minimal, and best practice driven starting point for developers who want to build custom themes. Providing tools like Composer and Node integration to streamline workflows, enforce coding standards, and enable the use of future facing CSS features, right now.
We start the episode with Rob sharing what attracted him to WP Rig, and his journey from user to Project Maintainer. We talk about who WP Rig is for, from experienced developers, to those just starting to dip their toes into theme building and code customization.
The discussion moves on to talking about what a theme development framework actually is, and why this approach might suit people wanting more control, and education, in their WordPress journey. Rob describes the learning curve, the workflow, and the satisfaction of creating your own theme from scratch, while highlighting tools and guardrails built into WP RIG that make professional standards and best practices accessible to all.
We also get into how WP Rig fits into the changing WordPress ecosystem. With the advent of full site editing and block-based themes, Rob explains how WP Rig has evolved to stay relevant, supporting classic, hybrid, and block-based paradigms, even enabling block development at the theme level.
Towards the end, we discuss the community behind WP Rig, how you can get involved, and the many educational resources available for those who want to learn theme development, or even become contributors themselves.
If you’re interested in building custom WordPress themes, want to understand the nuts and bolts of theme frameworks, or are simply looking for a modern and educational starting point for WordPress tinkering, this episode is for you.
If you’re interested in finding out more, you can find all of the links in the show notes by heading to wptavern.com/podcast, where you’ll find all the other episodes as well.
And so without further delay, I bring you, Rob Ruiz.
I am joined on the podcast by Rob Ruiz. Hello, Rob.
[00:03:56] Rob Ruiz: Hi. How are you, Nathan?
[00:03:57] Nathan Wrigley: Rob’s joining me today to talk primarily about themes, which I confess is a subject that we haven’t touched in a good long while. So before we get into that, Rob, would you just mind spending a minute just letting the listeners know who you are? If we are on a WordPress podcast, probably better to align that with what your journey is in the WordPress space, if that’s okay.
[00:04:17] Rob Ruiz: Certainly. Yeah. So my name is Rob Ruiz. I’ve been leveraging WordPress since about 2010 ish, although my web development experience goes prior to that. And so I’ve been tinkering and getting more and more into it as I go along.
I started off as mostly a designer back in the early two thousands, I guess. And WordPress has facilitated my journey from being a designer to more of a developer, software engineer, today, architect. And so yeah, it’s been a very fun journey. I’ve learned so much over the years, so I’m very grateful to WordPress for helping me do that at my own pace.
[00:04:58] Nathan Wrigley: Do you work for yourself? Are you perhaps engaged in an agency or something like that?
[00:05:02] Rob Ruiz: So currently, right now I work full-time at an agency, but I do also do work for myself as well. So it’s kind of a hybrid situation.
[00:05:09] Nathan Wrigley: Okay, so the reason that Rob is on the podcast today, well, there’s a variety of reasons. Most of it will bind itself to the subject of themes, as I said right at the start. But we’re also going to be talking, maybe towards the end a little bit about AI and things like that.
However, Rob is now the custodian. I didn’t realise he was now the custodian. We’ll get into that in a minute. But Rob is the custodian at the moment of a project called WP Rig. And you can find this, it’s a really quick URL to type in, it’s WP Rig, so WPRIG .io.
Completely free to download, completely unencumbered by a pricing page or anything like that. There’s a GitHub repo I think. Yes, that’s right. So do you just want to give us the elevator pitch for what WP Rig is. And just because it makes me happy, can you tell us how you got involved? Because that’s lovely too.
[00:06:00] Rob Ruiz: Yeah. Yeah, for sure. So WP Rig is a theme development toolkit or framework, but it’s also a starter theme as well. So you could think of it as kind of like underscores but with a whole modern development toolkit situation built into it, meaning there’s a bunch of composer dependencies, Node dependencies, and other kind of developer tools baked into it to prepare developers for the best developer experience possible when developing themes for WordPress.
How I got involved with it essentially is I was, first off, I was looking for a theme development framework. I had gone on a journey to explore many. And during that journey, I came across WP Rig, and kind of fell in love with it. It was really, really cool. I liked it a lot. I liked a lot of the opinions. I liked how well aligned it was with Core WordPress itself. I like the WordPress best practices that it enforces, you know, automatically. You don’t even have to like go look them up and think about it. You could just run a tool that’s built into it and it’ll check all your code for said best practices.
And so that was very interesting to me. I was like, I’m going to start using this. And so I did. I did start using it. And then, shortly thereafter, I had been browsing my favorite WordPress news site, WP Tavern, and noticed an interesting article about the project that I had just recently fell in love with out of sheer coincidence, I suppose. Out of sheer coincidence, it just so happens this project is now looking for new maintainers, and that they were having a Zoom call in the near future where anybody interested in maintaining the project could join the Zoom call.
And so I did. I joined the Zoom call and I got to meet the previous maintainers, or maintainer rather, and ended up having ongoing conversations with him after the call. And one thing led to another, and now the project is basically managed solely by me with a handful of other light contributors.
[00:08:04] Nathan Wrigley: So that’s really nice. I love the fact that there’s some sort of combination of WP Tavern and WP Rig out there. That’s lovely. So I appreciate that. The audience for this podcast is pretty varied. So there’ll be developers with a longstanding history with WordPress, you know, deep in the code. Will go to WP Rig and immediately everything will connect, and they’ll be like, yep, I get this. I understand what this is. It’s for me. It’s not for me, yada, yada.
However, we also have quite a lot of people listening to this who are brand new to WordPress. They’ve got no experience with code. They may be living inside of a page builder or something like that where everything is point, click, drag, drop, save, that kind of an environment. It just occurred to me that they very well might not know what even a theme development framework is. So can we begin there? What is the point of a thing like this? What’s the problem you’re trying to solve? Let’s start there.
[00:08:53] Rob Ruiz: Yeah, that’s a great question. So like anything in WordPress, because it’s open source and so beautifully designed, might I add, from an architectural standpoint, there are lots of ways to extend WordPress beyond its base functionality.
Two of the most common ways to do this is via the plugin system, and via the theme system. And so we can add custom plugins to extend the functionality of WordPress, but we can also add custom themes to alter the way our website looks and feels aesthetically.
So if you’re somebody who’s more of a designer maybe, or you appreciate aesthetics and perhaps you’ve dabbled in some CSS, you might be more inclined, if you’re looking to go beyond just what Core WordPress provides to you in terms of a site building experience, I would encourage those people to look at themes and possibly creating your own custom theme. Or altering an existing theme using a concept called child theming where you can take any theme that you get from anywhere, whether you buy it or find it on the wordpress.org theme repository. You can extend themes using child themes, or you can just build your own themes from scratch.
So that does include some work outside of the WordPress admin area. So once you get into developing themes for WordPress, the concept here is you’re kind of straying away from the WordPress admin experience, and you’re now like in the code editor realm, right? Because under the hood, WordPress is all just a bunch of code, PHP, JavaScript, CSS. There’s a lot going on, the React now. There’s a lot of things kind of built into WordPress.
And so the beautiful thing about WordPress is that you can kind of, if you’re interested in learning how to develop, you can kind of dip your toes into the development pool as frequently as possible, as quickly as you want. Whatever you are comfortable with, you can kind of pace yourself there and say, okay, let me try and make a custom theme, or let me try to make a custom plugin. And if it doesn’t work out, it’s easy to just deactivate it, delete it, remove it, whatever. It’s a great way to learn how to develop, in my personal opinion, because a lot of the heavy lifting is done by the Core WordPress system.
Basically what WP Rig offers is, instead of having to create a file system, a theme system from scratch, you know, a lot of people will reach for a concept called a boilerplate. Something that will scaffold kind of like the common files and folders that would be necessary in a theme, and then allow you to work from there. So you’re not just starting from like ground zero, create a new directory, create a new file.
And so that’s kind of what WP Rig offers is like, okay, go to our GitHub repo, clone the GitHub repo down, and then there are directions in the repo on how to get it to scaffold all the tools that come with it, all of the Node and Composer tools. And then you’re kind of off to the races.
[00:11:46] Nathan Wrigley: So with WP Rig, I’m guessing we would describe this as a framework or something like that. The idea being that you can bring this, kind of learn how it works, become adept at it, and then it’s like your constant friend. It’s always in the background. It’s the thing that you can rely on. It’s the muscle memory which develops over time. So you can ship your own themes, which kind of depend on the framework, but also, you know, you’re familiar with it so that bit is taken care of and straightforward.
What is it that attracted you to this particular theme development framework, at the time when you were sort of scrambling around looking for a project to become involved with?
I mean, one of the things that I always found curious was the leaner, the better. You know, the less that there was in such a thing, the more I was drawn towards it, because it gave me a, the basis, the scaffolding basically from which I could start building. Now, I don’t know if that’s what drew you here. So there’s the question. What is it that you thought was superior for want of a better word about this one?
[00:12:41] Rob Ruiz: Well, you nailed it. It’s really that. Like, it is quite minimal at its core. I also really appreciated how it treated CSS, as somebody who comes from a design background. I love modern CSS. I love following CSS influencers on YouTube, and learning all the new tricks. It’s a lot to keep up with and as, now that Internet Explorer is gone, CSS is progressing at an enormous rate, which I’m very excited about. But it also forces you to keep in tune with what you can do with it and what you shouldn’t do with it. And so there are tools built into WP Rig to help you assess those things as you’re developing your CSS in there.
When I originally was brought onto it, we were using a tool called PostCSS. That would essentially allow you to use future CSS before it was adopted by all modern browsers. And during the compilation process, it would convert your future CSS to today CSS essentially. And so the idea there is that as CSS catches up, your compilation would just have to do less work, right? So when it compiles all your CSS, it would, you know, like now that nesting is a thing, right? I was using WP Rig before CSS nesting was supported by all modern browsers, but I was able still to use CSS nesting in WP Rig, which I really liked. So there’s that aspect of things
and yes, it is very light. I’ve used other theme development frameworks where they encourage you to use kind of like a templating language or framework. I didn’t really like that approach because it felt very foreign to WordPress. Nothing else in WordPress uses such a thing. That kind of turned me off a little bit because I was like, I don’t want to learn this whole other concept that like really doesn’t exist anywhere except for Laravel. I liked that about it. It kept it simple in that regard.
And then if you’re using WordPress at like a agency level, if you’re building bespoke custom sites for clients, something like WP Rig is extremely powerful because it allows you to increase your level of customisation as much as you want, and the tools are all there to help you handle that. Also, meanwhile, if you’re working on a team of developers, which is often the case if you’re working with an agency or something like that, WP Rig becomes kind of like a home base, if you will, for opinions, for coding practices, for checks and balances.
All these things, it helps put everybody on the same vehicle, I guess, if you want to think of it like that. Everybody’s using the same vehicle, so there’s not wildly different ways of doing things, which can be very, very handy when working on a team and assessing other people’s code, and perhaps taking over work for other people and so on and so forth.
[00:15:23] Nathan Wrigley: So the thing about frameworks, I guess, is that, if you are in the WordPress space and you are that page builder user, so everything is within the WP admin, you know, you download a plugin, which creates pages or a theme, I guess you could do the same thing, but you’ve got that kind of experience with WordPress. Is this something that would map to those kind of users perfectly, or is there more of a learning curve? Do you need to be leaning more into the developer side of things?
Maybe there’s a happy transition that can be made. Because, you know, when you’re on the website, you have interesting acronyms. So, you know, CSS, JS, we’re probably entirely familiar with those, but then we get into things like esbuild, Lightning CSS, ESLint, NPM, Composer and so on. And at this point I can imagine quite a few of the inexperienced users thinking, you know what, this is going to be tough for me.
So I just want you to give us an impression, reassure people. How hard is it to go from that, I’ve never done anything like this before. To up and running, becoming familiar, if not necessarily completely familiar in a heartbeat?
[00:16:25] Rob Ruiz: In my opinion, it’s not hard because you can kind of just focus on where you want to focus. And so for instance, if you’re only interested in writing CSS styles and you just want to change colors, and sizing, and fonts, and stuff like that, you could use WP Rig to make an extremely simple theme, which is what I would encourage people to do if they’re just getting up and running.
Back to your question about page builders and such, there is like this, I don’t want to call it a problem, but there is a paradigm in WordPress that I think, especially for newer WordPress developers, they need to be very aware of, which is that you kind of have two schools of thought.
You have this school of thought of like, okay, I want to just use the WordPress admin to customise every little bit, every little piece of my WordPress site. I should be able to do it in the WordPress admin. And so that’s where some of these more complex page builders kind of come in and provide a lot more control than just what Core WordPress provides you.
But with that said, it will never be ultimate control. It will never be ultimate control, because there’s always going to be some amount of constraints. You’re always going to be constrained by what configurations, what settings, what fields, what controls that page builder provides you.
And not only that, you have to keep in mind some of these rules, I like to think of them as rules, configurations, settings, whether it’s at the block level, widget level, element level, whatever word you want to use to describe a part of your page, like an object or a component, it’s a very common word. When you’re using a page builder, that’s all getting saved into the database. Anytime you enter a value, you click save or whatever. Everything is in the database, all of it, right?
And so if you need to make a global change across your whole site, let’s say you want all of the blocks on your website to all of a sudden have a border around them, or you want to change something about them, the colour, background colour, something like that. In a page builder world, you’re going to have to go into every single one of those elements, those blocks, whatever, and you’re going to have to change those values everywhere.
Where, when you’re doing things with just code, you have kind of superpowers. In my opinion, coding, if you want ultimate control over your site and you want to be able to do literally anything you can imagine, and be able to do it in a way that’s progressive and is comprehensive, without any barriers, without any limitations, code will always be the best way to exercise that control that you’re going after.
Now, obviously, newer people, too much control can lead to confusion and all this stuff. So I don’t fault people for using some of these other solutions like page builders to kind of get their feet wet and get up and going and kind of figure out how to use just WordPress itself.
But once you get to a point where you’ve been doing that for a while and you’re looking at like other websites that aren’t even WordPress that have all kinds of interesting, cool features built into them, new paradigms being presented and exposed. Let’s say you follow CSS and you’re looking at all the newest CSS features that are coming out. Many of those newest CSS features that are coming out, there’s really no ability to control those things in your WordPress site, because that stuff literally just got adopted by Chrome or whatever, just reached modern browser adoption like recently, right?
And so you have to kind of wait for the page builders, for WordPress to kind of now provide you new controls, new tools, so that you can then control those things. But when you’re doing things with code, you could just do it immediately, and you could do whatever you want.
So when you’re building your own theme from scratch or you’re trying to, even creating your own plugin from scratch, it’s never really going to be a concept that’s for like new WordPress people that are just very, very new to just developing websites in general. But it is nice to know that these tools are out there and they’re there, so that when you do get to a point where you’re ready to kind of spread your wings a little bit more, you know what tools are out there to reach for. And you can begin to play with them a little bit instead of forever feeling confined to one paradigm.
[00:20:40] Nathan Wrigley: Yeah, there is something exceedingly satisfying about understanding how, whatever the thing is works. I imagine that as a child, you were perhaps that child that took things apart and enjoyed the experience of looking at the insides and thinking, how did that work? Okay, that’s how it worked. Okay, that cogs connected to that thing, and then that spins around in that way. And, oh, and look that on the front spins around as well. Got it. I understand that now. And you reassemble it and what have you.
I think there is something exceedingly interesting about that in the WordPress space. Obviously, WordPress, CMS, incredibly powerful out of the box. You’ve got the WP admin, and perhaps that’s as far as you wish to go.
But peeling back the layers and understanding, how is a page constructed? Where does the CSS get called from? How is the HTML finally output? What are the bits and pieces that make it up? How does the theme layer do its bits and pieces? You don’t have to kind of understand it all in one hit. You can, with a framework, the likes of which we’re talking about, WP Rig, there is this capacity to just take little nibbles and have a slow, but realising appreciation. Oh, okay, that’s how it works.
But not only that’s how it works, okay, now that I know how that works, I now am in control of it. Whereas in a way, previously, I just was sort of a passive observer. Perhaps there was a setting area in my page builder or what have you. And if it was there, I could make use of it, and if it wasn’t, I couldn’t.
But also I think it drives you into that journey of understanding the open standards, the open web, the things that make up the technology which is free, available to everybody. What WordPress builds upon.
And I’m talking specifically about HTML, CSS and JavaScript, just those three things. The foundational pieces of the web. And it allows you to get involved in that, and be interested in that and understand where the web is heading. And especially like you said, with modern CSS’, it is coming really fast and it is fast replacing, in many respects, I think a lot of JavaScript really is going to be obsolete, for the front end side of things, in the fairly short term.
So it allows you to sort of nibble away at that and become more experienced. And if you haven’t had that journey but you’ve got a curiosity, this is possibly a great place to start. There is no question there, but I’m just sort of offering that up to see if that jibes with what you think.
[00:22:52] Rob Ruiz: I couldn’t agree more. And not only that, I think an important thing to think about WordPress as we move forward into the future and more competitors to WordPress emerge, I think it has never been more important to make sure that we have tools out there that are designed to facilitate people in their journey to getting into development. Because let’s be real, WordPress is open source, and we have to remember that WordPress is at the mercy of its contributors.
And so if the number of people contributing to WordPress starts to decline, so too will the progress of WordPress itself, unless other big companies with other developers that they’re actually paying are willing to foot the bill to like pay people to contribute to WordPress.
I don’t know that that’s the bright future that WordPress had originally like looked towards, right? I think what’s made WordPress so powerful and so successful over the years are the tinkerers, are the people that are willing to get in there and start to like learn things and figure things out. And then those people will slowly become contributors. And the more contributors we have to WordPress, the more WordPress itself will flourish. And then if that starts to go in the opposite direction, so too will WordPress.
And now these other services, and other solutions that are out there, are going to like eclipse WordPress and then people are kind of forced into a situation where it’s like, oh, well now you have to constantly go out and pay for and buy things, and now you’re at the mercy of these product authors, if you will, as opposed to being a part of a community of people that are all kind of collectively working together to make this one platform better all the time.
[00:24:37] Nathan Wrigley: Yeah, the open web and all of the web standards that are behind that, it is such an interesting time for that. Rewind the clock, I don’t know, 10 years or something, and there was this whole bond fight thing where browser vendors were just distributing things which were either in opposition, certainly in competition to features. And so you could never really figure out what the heck you were doing, and each browser would behave differently.
That is so far in the rear view mirror now. In the majority of cases, new things like new CSS, the new CSS spec is broadly speaking, adopted by everybody out of the box. I mean, there might be a few tiny edge cases where, I don’t know, let’s say Mozilla is just not implementing something because they just haven’t quite got round to it yet.
But there’s no, Mozilla’s not doing that. It’s just a case of, we didn’t get around to it. And understanding that and being interested in that and thinking to yourself, well, goodness me, if I change my CMS of choice, at the end of the day, I still need to be able to output HTML and CSS. And so having that tinkerer mentality, which you are providing within the WordPress space is so interesting and so credible. So thank you for that.
Right, I’m going to pivot a little bit. So again, this is leaning in more to the inexperienced user. Forgive me if you are an experienced user listening to this, you probably know what you are doing. So maybe, you know, you don’t need all the 101 stuff.
What do you need to get WP Rig up and running? Because I think a lot of the audience listening to this will simply be, I have a server somewhere. You know, I don’t really know where it is, but I pay some company and I click a button in some control panel and WordPress magically happens. And then I install a theme and plugins, and that’s basically it.
So what do we need to get WP Rig up and running? What are the core parts, the processes that we would need to go through?
[00:26:24] Rob Ruiz: Yeah, well the important thing to keep in mind here is that it’s all on your own computer that you’re doing all of the work, as opposed to the WP admin approach where, when you’re interacting with WordPress, you are actually interacting with a remote server. The databases on the remote server, the files are on the remote server, all that stuff.
When you’re developing a theme or plugin from scratch, more often than not, I would say 99% of the time you’re doing it on your own computer. And so you do have to have, if you want these tools that facilitate this development process, you have to install them on your computer so that they’re available when you go to use them.
So there are some pre-reqs to using WP Rig. You do have to install Node. Node.js is a very common JavaScript runtime that runs on your computer and allows your computer to process JavaScript as if it’s a browser kind of, but it’s not, it’s just doing it on a server, which essentially any computer can be a server at any time.
And so you have to have Node installed. You have to have Composer installed. Composer is just a package manager for PHP, and it’s used beyond just WordPress. It’s used in Laravel. It’s used in any, even just raw, vanilla PHP development. Composer is very popular. So we do leverage some Composer packages to do some PHP level work in the theme.
And you need a local development environment, of course. So there’s the wp-env package out there. If you’re into the Docker way of doing local development. I’m a big fan of Local WP. I think that’s a great solution. WordPress Studio is another very good one. There’s lots to choose from out there.
So just choosing a local development environment and getting to know one of those is really handy because now you’re not dealing with a WordPress instance that’s on a remote server, you’re dealing with a WordPress instance that’s running on your computer. And this is where all of that magic is going to happen. All the automatic conversion of your CSS, all automatic conversion of TypeScript to ES5 JavaScript. All of the automatic things that WP Rig handles for you, all of that is happening on your computer.
And then there’s a process, a bundle process that happens. Once you’re done working on your theme, you can bundle the theme and then, this is where things get a little weird. So like when you first get working with WP Rig, you can think of the WP Rig theme, the starter theme as kind of like a source theme. But when you bundle, WP Rig actually generates a whole new theme for you that has the name of your theme baked into it. And not just like how it shows up in the WordPress admin, it goes through and it replaces all references to WP Rig in the code everywhere, across the entire code base of the theme. It changes the words WP Rig to whatever the name of your theme is.
So if you build a theme with WP Rig and you decide to sell it or deploy it or ship it or whatever to anybody, user, wherever, anywhere. Anybody that’s looking through that source code, for whatever reason, they would have no way of knowing that it was built with WP Rig because it’s just going to look like your theme.
[00:29:31] Nathan Wrigley: There’s something extremely satisfying about seeing your theme. The first time you see your theme. Stick it on a website somewhere and, oh, look, there’s the thing that I built. Whereas, you know, for many people, it’s been an entire experience of going to the repo, going to commercial theme houses and what have you, and downloading something and tweaking it and what have you.
And you really can start really, really, really small. You know, a few lines is really all that you need to get going and build up from there. Obviously it will start plain, but the more complexity you add.
But given that it’s all happening on your local computer, it’s not like you need to rush. This could be something which is years in the making. You know, you start today and maybe two years from now you are entirely happy and you’ve got something that you think is worthy of the world looking at. Well, that’s the point at which you can start to distribute it. As you’ve just described, because it’s all free, completely open source, when you ship that theme, export it, everything is run in such a way that nobody would ever know, which is just lovely.
Okay, so given all of this fresh, interesting stuff about WordPress themes, we’re in an interesting space in the WordPress theme marketplace, let’s call it that.
Several years ago, full site editing came along and now we’ve got this sort of different way of doing themes. Previously we had to open up an IDE and fiddle with template files and things like that. And now we’ve moved more into a page builder, let’s go with that. You know, there’s this Gutenberg block based editing of themes, where you can do more or less everything in a UI.
How does this fit into that piece, and what do you make of this new paradigm, this new way of doing themes? Are there benefits to it that you see, or drawbacks? Are you still doing it? Do you see a bright future for WP Rig? I’m guessing the answer’s yes, otherwise you wouldn’t be on this podcast.
[00:31:16] Rob Ruiz: That’s right. Yeah. Well, I will say that as somebody who had recently decided to adopt WP Rig, when the whole concept of FSE was first announced or introduced, I did have some strong opinions because I was like, oh my gosh, this is going to make my life very difficult if this becomes the way of doing things. And so I kind of foresaw a lot of where things have gone over the past few years.
So at the beginning I was a little hesitant because it kind of threw a wrench in this new thing that I was excited to adopt and start advancing. Over time I have come to appreciate it quite a bit. And in my opinion, it’s just allowed me as the maintainer of WP Rig, a lot of opportunity to really get in there and learn a lot, and get my hands dirty, and allow WP Rig to become something that was more my own, as opposed to something that I just adopted from some other people that had done a bunch of work, right?
Had that not happened, I probably would’ve just been like encouraged to just kind of sit back and be like, ah, yeah, you know what, this is my thing and it works and whatever. But this presented a lot of challenges and those challenges present a lot of opportunity if you look at it the right way. Not just opportunity to make something my own, not just opportunity to build things, but also opportunity, most importantly, I think, to learn things. And so that’s really been the gift of where all of this has gone for me personally.
Do I think that full site editing makes it so that you don’t have to make your own theme as much? Yes, I do think that is a thing because you have a lot more control of the way your website looks from within the WordPress admin area and creating templates and block patterns and all that stuff from within WordPress. It is different than how we used to do it, let’s put it that way.
However, as somebody who has decided to just like adopt it, I will say that if you can keep the paradigms and concepts all categorised and separated in your brain, then it’s actually quite powerful and can be extremely handy, especially with how fast the WordPress admin experience has gotten over the past few versions. It is very snappy now, almost to the point where it’s satisfying to use. Crazy to say. But it’s just so snappy. And we’ve got lots of little micro animations coming in there now where you can, you know, just the way everything happens is like, to me, it makes it a little bit more fun.
What does that mean for WP Rig? Well, that means there’s multiple paradigms that WP Rig has to support. So because WP Rig was originally created in the classic paradigm, when you first start using WP Rig, it does assume that you’re creating a classic style theme. But that doesn’t mean you’re forced to build a classic style theme. Because one of WP Rig’s strongest features is that there are whole bunch of custom command line commands that you can type in and run that will automatically convert WP Rig into these other paradigms.
So if you want to build a block-based theme or a universal theme, which is kind of halfway between classic and block-based, you could just run a command in your terminal and it will just automatically change a bunch of files in WP Rig to convert it to this other paradigm. And now you have full site editing as part of your theme.
And many people may not be aware of this, but the whole concept of full site editing is controlled by the theme. Whether or not you even have full site editing on WordPress is dependent on the theme. It’s not well, Gutenberg can be removed via a plugin, but in order to enable these functionalities, like if you want to be able to do full site editing, it is the theme that dictates that, not a plugin.
So it is important for WP Rig to facilitate that part of things. And so that is something that I’ve had to build out among many other things. Now WP Rig has a full block authoring experience built into it.
Now, this is where things get very, very opinionated among developers. But a lot of people argue that blocks are a, that’s plugin territory, right? Now, I don’t know about you, I’m not really much for territories. I like to pretend that borders don’t exist sometimes. And so there are situations where building theme level blocks do make sense. Keep in mind that if you decide to bake custom blocks into your theme, you have immediately disqualified yourself from contributing this theme to the wordpress.org theme repository. So keep that in mind. That’s a big cautionary, little tidbit.
But if this theme is just for you, or a client, or for usage outside of the WordPress repository, WordPress does have the ability to enable block authoring within WP Rig. And then now you can start to author blocks within your theme.
Where I like to think of this as like navigation, right? When I’m looking for themes, if I’m like shopping for themes, one of the first things I look at is, what is the navigation for this theme? What is that experience like? Because there’s lots of different kind of like styles of navigation.
If you need to create a custom navigation, maybe there’s a situation where the navigation block in Core WordPress doesn’t suit your needs for whatever reason. Maybe the design of what you’re trying to build somehow goes beyond what that block provides to you in terms of functionality. You could create your own custom navigation block, and in my opinion, that makes a lot of sense to be part of the theme as opposed to a plugin, right?
So there’s opinions there. Again, this is the nice thing about open source. There’s freedom there. But yeah, WP Rig has not just the ability to facilitate full site editing, but also the ability to facilitate block authoring at the theme level. So, yeah, one could look at this and be like, oh, this makes theme development kind of pointless because you could just do everything within the full site editor. I’m somebody that likes to kind of flip things on its head a little bit sometimes and say, actually, you know what that really means is that this gives the theme more control than perhaps you would’ve thought previously. And if you exercise said control, and if somebody provides an easy way to allow you to exercise that control, now we have a whole new paradigm. And in my opinion, that’s extremely interesting.
[00:37:39] Nathan Wrigley: Yeah, I think the thing that I’m taking away, well, there’s a few things from what you just said. The first one, fully hybrid. You know, it could be classic, it could be block based, or it could be somewhere in the middle, like this hybrid sort of approach, which doesn’t really get talked about all that much anymore, actually, which is curious. It was a big thing for a while, and now people seem to be on one side or the other. So there’s that.
But also the bit that I’m taking away from all of this is how much you are encouraging people to use this as an education piece. How to learn and scaffold your learning around something like the WP Rig project. It enables you to sort of peel back the layers. Start from a base of kind of nothing and build that up, slowly one piece at a time.
And your navigation is a really great example. You might have, I don’t know, maybe a client comes along who have proclivities around, it’s got to be 100%, we’ve got to give everything over on the accessibility side, we’ve really got to do that perfectly. Well, this maybe is a great place to start. You know, you start with a blank template for that, and you build your navigation. So you will end up exploring all sorts of documentation over on the W3C website. Probably not necessarily so much on the WordPress side of things. Figure out how to do that really well, import your knowledge that you’ve gained from that into the navigation aspect of WP Rig, ship that, you’re off to the races.
Now, with that in mind, if you go to the WP Rig website, there’s a lot of educational content there. So there’s the inevitable kind of getting started, which is what we talked about earlier, all of the packages and the package managers and what have you that you need to get up and running. So it explains how that is all to be done. Relatively straightforward to follow that through, I would’ve thought.
But then entirely separate to that is two different sections. You’ve got this like learn section where you’ve got documentation, video tutorials and things like that. But then you’ve also got like the docs area where you go into explain, oh I don’t know, how you might use JavaScript or CSS or some sort of compiled CSS or PHP and so on and so forth.
So again, no question there really, but it does feel, from my point of view, looking at this project that education is kind of the big piece. That’s the thing that you are most interested in. I don’t know if I’ve misrepresented this project, but that’s what it feels like.
[00:39:58] Rob Ruiz: A hundred percent. And I think that’s inevitable when it comes to getting into this tinkerer mindset. There must be a way to learn how to tinker properly. It is also nice to add guardrails to said, because let’s be honest, there’s like a million different ways to do everything, but there’s very, very few correct ways to do everything.
And so that’s another nice feature of WP Rig is that it has these sort of guardrails in place that allow you to check and make sure that you’re doing things properly. And if there’s anything that you’re doing improperly, you can obviously ignore those if you want to for whatever reason, or you can like dive into the weeds and say, okay, why is this improper?
So for instance, WordPress, Automattic created a package. It’s essentially an extension for a tool called PHPCS, which stands for PHP Coding Standards. This tool is used by PHP widely beyond just WordPress. But then WordPress adopted it a while back and decided to use it and create their own extension for it called the WordPress Coding Standard. It’s WPCS.
And so they’ve iterated on it over the years and WPCS is baked into WordPress, or into WP Rig rather. So if you want to make sure that your theme is following all of the WordPress coding standards for whatever reason, maybe it’s because you’re going to create a theme that you want to contribute to the wordpress.org theme repository, then that tool is baked into WP Rig for you, so that you can make sure that your theme meets all of the requirements for a properly developed theme before you even try to go and like submit it for a review or whatever.
Because that’s one of the most frustrating things ever is somebody who wants to contribute. If you try to contribute and then you get pushed back on, that’s like not a great experience. And so what I try to do with WP Rig is bake in this layer that is kind of like a, test it yourself type situation. Where you can kind of like have the system sort of, kind of review the code for you, and then that way you can make sure you’ve done your due diligence before you even try to submit it for review. To prevent that unfortunate situation where your theme might get rejected for one reason or another, and now you got to go back and rework it and then back and forth, back and forth, back and forth.
Having a tool like WP Rig that just tells you early on before you even try to submit it, hey, you should change this, you should change that. I think that’s extremely valuable for people. And again, I really want WP Rig to be something that encourages people to get more into contributing back into Core as opposed to. I mean, it can also be looked at as something like, okay, well you want to go develop your own thing and it’s for profit or whatever. It does very much facilitate that way of doing things too. But let’s be honest, anything that meets WordPress’s coding standards is probably going to make your theme, even if you’re putting it up for sale, it’s going to make it better.
[00:42:53] Nathan Wrigley: Yeah, I love that you’ve built all of that in. That’s really interesting. So it does a lot of the heavy lifting, trying to make sure that you are adhering to the standards, which one would hope would be in a shippable, distributable product.
Speaking of community, do you have a community which coalesce around this project? Is it basically just you? Or is there like a little team? And if not necessarily a team, is there a little community which gathers and sort of helps you put this project together? And a corollary to that question really is, do you anticipate in the future that you will like some contributors to help you maintain this as well?
[00:43:27] Rob Ruiz: Yeah, for sure. So when I first started, when I first adopted this as my own, there was more of a team in place because Morten is a very well-known individual. And so he had a lot of followers and so a lot of those followers had followed WP Rig. As time has progressed, a lot of those people have kind of unfortunately gone their own way. For whatever reason, a lot of the people that were following him weren’t really like, they might have been into learning how to develop themes. They certainly were into WordPress. But working on a project like this is more than just knowing how to develop themes. You also have to know how the underlying tools work too.
So that’s been my biggest challenge is learning, what is Lightning CSS? How do you use it? What is esbuild? How does that work? When I first took it over, it was ran on Gulp. What is Gulp? And what is that, and how do I modify it? And like that’s kind of far beyond WordPress, and so I think people became aware of that over time. And so while I rose up to the challenge, other people were just kind of moved on to other things.
So it is largely me. We do have a handful of contributors that kind of, when they have time, you know, they’ll feel ambitious again and jump in and do some more contributions and they’ll fall back and do their own thing for a while. And so there’s a lot of that. It’s not a very active community, certainly not as active as it was when I first adopted it. However, we do have a Discord now. You can find a link to the Discord on the website. If you go to the Learn V3 link in the header, there’s links to our YouTube channel and the Discord server.
So we are looking, I do want more of a community around WP Rig. And so I do encourage people to come on. Obviously we’ve been on GitHub this entire time, so if anybody wants to raise issues or submit a PR, there are guides on there. There’s a contributing.md file in there for anybody that wants to contribute, or wants to raise an issue. If you have ideas for how WP Rig could be better, that’s always been there. It’s just that, for one reason or another, it’s just not popular, which is a big reason why I’m on your show today actually is just to raise awareness about WP Rig now that I have had the opportunity to overhaul it dramatically over the past couple years.
In my opinion, it was a little bit, it started to feel a little bit slow compared to most modern tools. If anybody’s familiar with like Vite, or just modern frontend development frameworks. In general, they use more modern tools that build things faster and better, and they’re leaner. And so WP Rig was falling behind a little bit in that regard. And so I did have to like overhaul the project a lot. That’s why we came out with the version three because it is a pretty substantial overhaul.
And so now that we have version three and it is much better and there are all kinds of new features built into it as a result of it being faster, it’s now more capable. I want to raise awareness. A, I’ve already done the work, so it would be a shame for all that work to go unnoticed and unappreciated. But also, for anybody who was familiar with WP Rig from previous years, back in the version one, version two days, I think it’s important to make people aware that version three is substantially more capable than what it was prior.
[00:46:38] Nathan Wrigley: That’s wonderful. I’m just going to round off the episode by mentioning the URL once more so that after that clarion call, if people have been inspired and they have listened to this and think, I’d like to explore that. You know, for the multitude of reasons that we’ve covered in this topic. The URL, it’s really easy. It’s WP Rig, wprig.io. Go there, there’s a whole bunch of ways to get involved. So there’s the Learn documentation, there’s the contribute tab and so on and so forth. You can peruse at your leisure.
Rob, just before we end, is there a way that people could communicate with you more directly if they wanted to off the back of this? Is there a, like a, I don’t know, a social network or something that you frequent? Or a contact form that you’d like people to be mindful of?
[00:47:22] Rob Ruiz: Yeah, sure. I mean, I am very responsive to people on LinkedIn, so if you want to find me on LinkedIn, I am on there, Rob Ruiz, just look me up. If it looks like it’s a Rob Ruiz that does WordPress stuff, it’s probably me. And then of course, I’m on the Discord server. So if you want to communicate directly with me, joining the Discord and then messaging me directly is a nice way to do that. I’d love to help people, hold their hand if needed, get up and running with WP Rig. If you have any questions about specifics, I’m happy to address them, or you just need a little guidance, I’d be happy to help there as well.
[00:47:54] Nathan Wrigley: Well, thank you so much for chatting to me today, Rob. It’s been really interesting. So once more, just before we end to find out more. Rob Ruiz, thank you very much for chatting to me today.
[00:48:04] Rob Ruiz: Thank you so much for your time, Nathan. I really appreciate it.
On the podcast today we have Rob Ruiz.
Rob has been involved in the WordPress ecosystem since around 2010. He began as a designer, but over the years WordPress has helped him transition into a developer, software engineer, and now an architect. Currently, he’s working full-time at an agency while still taking on projects independently.
The main topic for today’s conversation centres around themes, a subject that hasn’t been covered in depth on the podcast for quite some time. You see, Rob is the current custodian of WP Rig, a free and open source toolkit for WordPress theme development. WP Rig offers a modern, minimal, and best-practice driven starting point for developers who want to build custom themes, providing tools like Composer and Node integration to streamline workflows, enforce coding standards, and enable the use of future-facing CSS features right now.
We start the episode with Rob sharing what attracted him to WP Rig, and his journey from user to project maintainer. We talk about who WP Rig is for, from experienced developers to those just starting to dip their toes into theme building and code customisation.
The discussion moves on to talking about what a theme development framework actually is, and why this approach might suit people wanting more control, and education, in their WordPress journey. Rob describes the learning curve, the workflow, and the satisfaction of creating your own theme from scratch, while highlighting tools and guardrails built into WP Rig that make professional standards and best practices accessible to all.
We also get into how WP Rig fits into the changing WordPress ecosystem. With the advent of full site editing and block-based themes, Rob explains how WP Rig has evolved to stay relevant, supporting classic, hybrid, and block-based paradigms, even enabling block development at the theme level.
Towards the end, we discuss the community behind WP Rig, how you can get involved, and the many educational resources available for those who want to learn theme development, or even become contributors themselves.
If you’re interested in building custom WordPress themes, want to understand the nuts and bolts of theme frameworks, or are simply looking for a modern and educational starting point for WordPress tinkering, this episode is for you.
Useful links
WordPress.org theme repository
Morten Rand-Hendriksen on the WP Tavern Jukebox podcast
Discover more from Complete Nursing Solution
Subscribe to get the latest posts sent to your email.
Great job simplifying something so complex.
This was really well done. I can tell a lot of thought went into making it clear and user-friendly. Keep up the good work!
I’ve gained a much better understanding thanks to this post.
QQ88 – Nền tảng cá cược trực tuyến uy tín, tích hợp Thể thao, Live Casino, Nổ hũ, Bắn cá và nhiều trò chơi hấp dẫn. Trải nghiệm mượt mà, giao dịch nhanh chóng.
cairns casino
References:
https://maps.google.com.tr/
deneme bonusu veren casino siteleri: deneme bonusu veren casino siteleri
mostbet güncel adres [url=https://mostbetpl.top/#]mostbet[/url]
mostbet resmi: mostbet
mostbet: mostbet
mostbet casino [url=https://mostbettr.blog/#]mostbet[/url]
mostbet: mostbet
mostbet resmi giriş [url=https://mostbetvipaz.buzz/#]mostbet[/url]
mostbet giris [url=https://mostbettr.icu/#]mostbet[/url]
mostbet giriş [url=https://mostbettr.icu/#]mostbet[/url]
mostbet güncel giriş: mostbet
https://mostbetpl.buzz/# mostbet
mostbet güncel adres [url=https://mostbetpl.top/#]mostbet[/url]
https://mostbettr.blog/# mostbet güncel adres
mostbet [url=https://mostbetvipaz.buzz/#]mostbet[/url]
mostbet casino: mostbet
https://mostbettr.icu/# mostbet resmi giriş
mostbet güncel: mostbet
mostbet [url=https://mostbetvipaz.buzz/#]mostbet[/url]
mostbet resmi giriş: mostbet
https://mostbetpl.top/# mostbet resmi giriş
https://mostbettr.blog/# mostbet giriş
mostbet casino [url=https://mostbetpl.top/#]mostbet[/url]
mostbet casino [url=https://mostbetpl.buzz/#]mostbet[/url]
mostbet resmi [url=https://mostbettr.icu/#]mostbet[/url]
https://mostbettr.blog/# mostbet
mostbet güncel: mostbet
https://mostbetpl.top/# mostbet resmi
https://mostbettr.blog/# mostbet güncel
mostbet güncel [url=https://mostbetvipaz.buzz/#]mostbet[/url]
mostbet güncel giriş: mostbet
http://happypawspharmacy.com/# pet antibiotics and care
https://truehealthpharm.shop/# where to buy erectile dysfunction pills
canadapharmacyonline com [url=http://vitalcorepharmacy.com/#]VitalCore Pharmacy[/url] escrow pharmacy canada
pharmacy websites: VitalCore Pharmacy – canadian pharmacy 365
vet pharmacy: dog and cat medicine supply – pet antibiotics and care
True Health Pharm: True Health Pharm – True Health Pharm
https://happypawspharmacy.shop/# pet antibiotics and care
pet antibiotics and care: HappyPaws Pharmacy – dog and cat medicine supply
True Health Pharm [url=https://truehealthpharm.shop/#]buying erectile dysfunction pills online[/url] True Health Pharm
canada pet meds: online pet pharmacy – dog and cat medicine supply
http://truehealthpharm.com/# True Health Pharm
https://truehealthpharm.com/# best online ed meds
top rated ed pills: ed doctor online – True Health Pharm
pet pharmacy USA: HappyPaws Pharmacy – dog and cat medicine supply
top 10 pharmacy websites [url=https://vitalcorepharmacy.com/#]sildenafil 50 mg price[/url] all in one pharmacy
canadian mail order pharmacy: Order Viagra 50 mg online – online pharmacy no prescription
https://truehealthpharm.shop/# online ed pharmacy
buy erectile dysfunction pills: True Health Pharm – True Health Pharm
https://truehealthpharm.shop/# True Health Pharm
True Health Pharm: True Health Pharm – online prescription for ed
True Health Pharm [url=https://truehealthpharm.com/#]ed rx online[/url] True Health Pharm
https://happypawspharmacy.shop/# pet pharmacy USA
cheap erectile dysfunction pills: ed treatments online – True Health Pharm
pharmaceuticals online australia: Generic Viagra for sale – online pharmacy indonesia
dog and cat medicine supply: pet pharmacy USA – pet pharmacy USA
pet antibiotics and care: pet antibiotics and care – dog and cat medicine supply
https://vitalcorepharmacy.shop/# the canadian pharmacy
https://truehealthpharm.com/# True Health Pharm
True Health Pharm [url=http://truehealthpharm.com/#]True Health Pharm[/url] discount ed pills
True Health Pharm: where can i buy erectile dysfunction pills – ed drugs online
best ed medication online: ed online treatment – ed online prescription
https://vitalcorepharmacy.com/# rx online pharmacy
ed pills cheap: where to buy ed pills – generic ed meds online
ed rx online: online ed pills – True Health Pharm
True Health Pharm [url=http://truehealthpharm.com/#]True Health Pharm[/url] True Health Pharm
https://truehealthpharm.shop/# True Health Pharm
http://happypawspharmacy.com/# pet pharmacy USA
pharmacy online australia free shipping: VitalCore Pharmacy – no rx needed pharmacy
True Health Pharm [url=http://truehealthpharm.com/#]True Health Pharm[/url] ed meds cheap
pet antibiotics and care: pet rx – pet pharmacy USA
True Health Pharm: True Health Pharm – best ed pills online
https://vitalcorepharmacy.com/# reputable canadian online pharmacy
dog and cat medicine supply: pet pharmacy USA – HappyPaws Pharmacy
https://happypawspharmacy.com/# HappyPaws Pharmacy
HappyPaws Pharmacy: pet antibiotics and care – pet antibiotics and care
cheapest pharmacy for prescriptions [url=https://vitalcorepharmacy.com/#]Generic Viagra online[/url] canadian pharmacy 365
http://happypawspharmacy.com/# HappyPaws Pharmacy
prescription drugs from canada: viagra without prescription – trust pharmacy
legitimate mexican pharmacy online: VitalCore Pharmacy – indian pharmacies safe
pet antibiotics and care: pet antibiotics and care – HappyPaws Pharmacy
buying ed pills online [url=http://truehealthpharm.com/#]True Health Pharm[/url] True Health Pharm
https://vitalcorepharmacy.com/# global pharmacy canada
pet antibiotics and care: pet pharmacy USA – vet pharmacy
https://vitalcorepharmacy.shop/# canadian pharmacy 365
best pet rx: pet antibiotics and care – HappyPaws Pharmacy
cheapest ed medication: True Health Pharm – discount ed meds
http://vitalcorepharmacy.com/# 24 hour pharmacy
specialty pharmacy [url=https://vitalcorepharmacy.com/#]Order Viagra 50 mg online[/url] cheapest pharmacy
canada pharmacy coupon: Cheap Sildenafil 100mg – pharmacy drugs
online pharmacy india: TrustRx India – buy prescription drugs from india
MedBridge Pharmacy [url=https://medbridgepharmacy.shop/#]northern pharmacy canada[/url] MedBridge Pharmacy
https://medbridgepharmacy.shop/# MedBridge Pharmacy
buy prescription drugs from india: TrustRx India – top online pharmacy india
https://medicobridgerx.shop/# MedicoBridge RX
п»їlegitimate online pharmacies india: best online pharmacy india – cheapest online pharmacy india
MedBridge Pharmacy: MedBridge Pharmacy – MedBridge Pharmacy
https://trustrxindia.com/# indian pharmacy paypal
cheapest pharmacy to get prescriptions filled: MedBridge Pharmacy – MedBridge Pharmacy
Online medicine order [url=https://trustrxindia.com/#]pharmacy website india[/url] india pharmacy mail order
best online pharmacy reddit: MedBridge Pharmacy – MedBridge Pharmacy
http://medbridgepharmacy.com/# MedBridge Pharmacy
canada pharmacy online: online pharmacy reviews – MedBridge Pharmacy
https://medbridgepharmacy.shop/# MedBridge Pharmacy
MedicoBridge RX: MedicoBridge RX – MedicoBridge RX
Online medicine home delivery [url=http://trustrxindia.com/#]world pharmacy india[/url] indianpharmacy com
mexican drug store: mexican pharmacies that ship – MedicoBridge RX
MedBridge Pharmacy: cialis canada online pharmacy – MedBridge Pharmacy
https://medbridgepharmacy.com/# canadian pharmacy world coupon
pharmacy express: discount pharmacy mexico – global pharmacy
india pharmacy mail order: TrustRx India – indianpharmacy com
https://trustrxindia.com/# п»їlegitimate online pharmacies india
MedicoBridge RX [url=http://medicobridgerx.com/#]MedicoBridge RX[/url] mexican rx pharm
MedBridge Pharmacy: reputable canadian online pharmacies – MedBridge Pharmacy
reputable canadian pharmacy: MedBridge Pharmacy – reliable canadian pharmacy
http://medicobridgerx.com/# online pharmacy mexico
canadian pharmacy without prescription: MedBridge Pharmacy – online pharmacy bc
MedBridge Pharmacy [url=https://medbridgepharmacy.com/#]tadalafil canadian pharmacy[/url] MedBridge Pharmacy
pharmacy website india: TrustRx India – buy medicines online in india
http://medicobridgerx.com/# mexican pharmacies that ship to the united states
world pharmacy india: world pharmacy india – indianpharmacy com
mexico pharmacy: medication from mexico – mexicanrxpharm
india pharmacy [url=http://trustrxindia.com/#]TrustRx India[/url] Online medicine order
mexican pharmacy las vegas: MedicoBridge RX – best mexican pharmacy
top 10 online pharmacy in india: TrustRx India – п»їlegitimate online pharmacies india
online pharmacy no prescription: MedBridge Pharmacy – MedBridge Pharmacy
top 10 pharmacies in india: world pharmacy india – Online medicine home delivery
https://trustrxindia.shop/# cheapest online pharmacy india
mexican pharmacy online: MedicoBridge RX – mexican medicine
order meds from mexico: MedicoBridge RX – medication from mexico
mexican pharmacy prices: MedicoBridge RX – MedicoBridge RX
indian pharmacies safe: top online pharmacy india – п»їlegitimate online pharmacies india
mexican farmacia: MedicoBridge RX – MedicoBridge RX
https://medicobridgerx.shop/# order medication from mexico
Online medicine order: pharmacy website india – top online pharmacy india
https://medicobridgerx.com/# MedicoBridge RX
mexican online pharmacy: MedicoBridge RX – online mexican pharmacy
MedBridge Pharmacy: pharmacy today – generic pharmacy online
india pharmacy mail order: TrustRx India – indian pharmacy
reputable canadian pharmacy: online pharmacy pain relief – medical pharmacy west
MedBridge Pharmacy: MedBridge Pharmacy – reputable canadian online pharmacy
MedBridge Pharmacy: MedBridge Pharmacy – MedBridge Pharmacy
MedicoBridge RX: buying prescriptions in mexico – MedicoBridge RX
https://medicobridgerx.com/# farmacia mexicana en linea
progreso mexico pharmacy online: MedicoBridge RX – MedicoBridge RX
Cheap Sildenafil 100mg: NovaMen Pharmacy – NovaMen Pharmacy
http://primelinepharmacy.com/# online ed prescription
Viagra online price: cheap viagra – NovaMen Pharmacy
buy cialis pill: Cialis over the counter – п»їcialis generic
https://novamenpharmacy.shop/# Sildenafil Citrate Tablets 100mg
https://novamenpharmacy.com/# order viagra
NovaMen Pharmacy: NovaMen Pharmacy – sildenafil over the counter
best ed meds online: cheap ed meds online – cheap ed pills online
https://primelinepharmacy.shop/# cost of ed meds
NovaMen Pharmacy: NovaMen Pharmacy – Viagra online price
https://novamenpharmacy.com/# NovaMen Pharmacy
CoreVital Pharmacy: Cialis without a doctor prescription – Buy Tadalafil 10mg
NovaMen Pharmacy: NovaMen Pharmacy – Viagra tablet online
http://corevitalpharmacy.com/# Buy Cialis online
http://novamenpharmacy.com/# buy viagra here
NovaMen Pharmacy: NovaMen Pharmacy – NovaMen Pharmacy
https://primelinepharmacy.shop/# erectile dysfunction pills for sale
Cheap Cialis: Buy Tadalafil 5mg – CoreVital Pharmacy
affordable ed medication: PrimeLine Pharmacy – pills for erectile dysfunction online
low cost ed meds: ed online prescription – erectile dysfunction online prescription
NovaMen Pharmacy: Viagra online price – order viagra
https://novamenpharmacy.com/# viagra without prescription
https://novamenpharmacy.com/# sildenafil online
erectile dysfunction medication online: PrimeLine Pharmacy – cheapest online ed meds
ed prescription online: ed pills pharmacy – where to buy erectile dysfunction pills
http://corevitalpharmacy.com/# Buy Cialis online
cheap viagra: NovaMen Pharmacy – cheapest viagra
CoreVital Pharmacy: CoreVital Pharmacy – Buy Cialis online
http://corevitalpharmacy.com/# cheapest cialis
pills for ed online: PrimeLine Pharmacy – cheapest erectile dysfunction pills
http://novamenpharmacy.com/# Generic Viagra online
ed medications online: PrimeLine Pharmacy – discount ed pills
https://corevitalpharmacy.shop/# CoreVital Pharmacy
generic sildenafil: buy Viagra over the counter – NovaMen Pharmacy
low cost ed pills: ed pills pharmacy – ed online prescription
https://novamenpharmacy.shop/# NovaMen Pharmacy
CoreVital Pharmacy: buy cialis pill – CoreVital Pharmacy
buy ed medication online: ed pills pharmacy – cheapest online ed treatment
http://primelinepharmacy.com/# best online ed medication
https://primelinepharmacy.com/# buy erectile dysfunction pills online
buy cialis pill: cialis for sale – cheapest cialis
http://primelinepharmacy.com/# order ed pills
jojobet resmi giriş [url=https://jojovip.blog/#]jojobet[/url]
jojobet resmi giriş [url=https://jojovip.top/#]jojobet[/url]
https://primelinepharmacy.com/# affordable ed medication
https://novamenpharmacy.shop/# NovaMen Pharmacy
jojobet giris [url=https://jojovip.blog/#]jojobet[/url]
jojobet resmi giriş: jojobet
http://corevitalpharmacy.com/# Generic Cialis price
buy erectile dysfunction treatment Pharmacological Sciences Research Institute cheap ed medicine
https://corevitalpharmacy.com/# Tadalafil price
cost of ed meds Pharmacological Sciences Research Institute best online ed pills
https://pharmacologicalsciences.com/cialis.html kamagra
https://pharmacologicalsciences.com/levitra.html Pharmacological Sciences Research Institute
https://pharmacologicalsciences.com/edpills.html cialis
https://novamenpharmacy.com/# NovaMen Pharmacy
online ed medications Pharmacological Institute online ed medications
https://pharmacologicalsciences.com/viagra.html viagra
https://pharmacologicalsciences.com/generics.html Pharmacological Sciences Research Institute
http://primelinepharmacy.com/# low cost ed pills
ed meds on line Pharmacological Sciences Research Institute online ed pills
https://pharmacologicalsciences.com/edpills.html Pharmacological Sciences Research Institute
cheap erectile dysfunction pills Pharmacological Sciences Research Institute discount ed pills
https://pharmacologicalsciences.com/levitra.html viagra
https://pharmacologicalsciences.com/viagra.html levitra
cheapest online ed treatment Pharmacological Sciences Research Institute buy ed medication online
https://novamenpharmacy.com/# Sildenafil 100mg price
https://pharmacologicalsciences.com/generics.html cialis
where can i get ed pills Pharmacological Institute discount ed meds
buy ed medication online Pharmacological Institute cheap ed meds online
https://primelinepharmacy.com/# buying ed pills online
https://pharmacologicalsciences.com/generics.html Pharmacological Sciences
https://pharmacologicalsciences.com/levitra.html Pharmacological Sciences Research Institute
online ed drugs Pharmacological Institute ed pills cheap
http://corevitalpharmacy.com/# CoreVital Pharmacy
https://pharmacologicalsciences.com/generics.html viagra
ed meds online Pharmacological Sciences low cost ed meds
https://primelinepharmacy.shop/# low cost ed medication
https://pharmacologicalsciences.com/ levitra
https://pharmacologicalsciences.com/generics.html Pharmacological Sciences
ed meds cheap Pharmacological Institute ed online prescription
http://novamenpharmacy.com/# viagra without prescription
https://pharmacologicalsciences.com/generics.html Pharmacological Sciences
discount ed pills Pharmacological Sciences Research Institute low cost ed meds online
https://pharmacologicalsciences.com/ viagra
https://pharmacologicalsciences.com/levitra.html Pharmacological Sciences
https://pharmacologicalsciences.com/edpills.html Pharmacological Sciences Research Institute
ed pills [url=https://pharmacologicalsciences.com/#]Pharmacological Sciences Research Institute[/url] kamagra
pin up казино: pin up
https://corevitalpharmacy.shop/# Cialis without a doctor prescription
how to get ed pills Pharmacological Sciences online ed meds
https://pinupkz.online/# pin up
pin up вход [url=https://pinupkz.online/#]pin up[/url]
http://novamenpharmacy.com/# sildenafil online
https://pharmacologicalsciences.com/edpills.html ed pills
get ed meds online Pharmacological Institute order ed pills
https://pinupkz.online/# pin up kz вход
http://novamenpharmacy.com/# NovaMen Pharmacy
cheapest ed treatment Pharmacological Institute erectile dysfunction meds online
pin up [url=http://ugtk.kz/#]pin up[/url]
https://novamenpharmacy.shop/# NovaMen Pharmacy
https://pharmacologicalsciences.com/cialis.html kamagra
ed online prescription Pharmacological Institute how to get ed pills
pin up casino [url=http://ugtk.kz/#]pin up[/url]
https://corevitalpharmacy.shop/# CoreVital Pharmacy
ed medicines online Pharmacological Sciences how to get ed pills
pin up kz: pin up
https://novamenpharmacy.com/# Sildenafil 100mg price
cheap erection pills Pharmacological Sciences Research Institute ed medications cost
antibiotic without presription Doxycycline Hyclate antibiotics drugs
https://antimicrobialresearch.com/doxycycline.html OTC antibiotics
https://antimicrobialresearch.com/amoxil.html Ciprofloxacin Hydrochloride
[url=https://antimicrobialresearch.com/doxycycline.html#]Sulfamethoxazole Trimethoprim[/url] buy antibiotics online safely
Over the counter antibiotics pills IARP generic antibiotics online cheap
prescription antibiotic Sulfamethoxazole Trimethoprim п»їbuy antibiotics
https://antimicrobialresearch.com/cipro.html IARP
cheap antibiotics Institute for Antimicrobial Research buy amoxicillin
buy antibiotics for uti Azithromycin Dihydrate buy amoxicillin
[url=https://antimicrobialresearch.com/zithromax.html#]IARP[/url] best online doctor for antibiotics
https://antimicrobialresearch.com/cipro.html Doxycycline Hyclate
Over the counter antibiotics for infection Ciprofloxacin Hydrochloride buy zithromax antibiotic
antibiotics for uti over the counter IARP online antibiotics
antibiotics online pharmacy antibiotics buy amoxicillin
[url=https://antimicrobialresearch.com/amoxil.html#]antibiotics[/url] buy antibiotics for sinus
buy antibiotics online for tooth infection Sulfamethoxazole Trimethoprim antibiotics for uti
https://antimicrobialresearch.com/otc-antibiotics.html Ciprofloxacin Hydrochloride
prescription antibiotic Antibiotics Pharmacology online antibiotics
https://antimicrobialresearch.com/ Amoxicillin Trihydrate
buy antibiotics online for tooth infection Doxycycline Hyclate Over the counter antibiotics pills
https://antimicrobialresearch.com/amoxil.html Amoxicillin Trihydrate
buy antibiotics for sinus antibiotics antibiotics
[url=https://antimicrobialresearch.com/zithromax.html#]Institute for Antimicrobial Research[/url] buy antibiotics from india
antibiotics drugs antibiotics antibiotics over the counter
https://antimicrobialresearch.com/otc-antibiotics.html antibiotics
buy doxycycline antibiotics antibiotics antibiotics over the counter
Over the counter antibiotics for infection Azithromycin Dihydrate buy antibiotics online
https://antimicrobialresearch.com/bactrim.html Doxycycline Hyclate
[url=https://antimicrobialresearch.com/otc-antibiotics.html#]IARP[/url] buy amoxicillin antibiotic
https://antimicrobialresearch.com/bactrim.html Sulfamethoxazole Trimethoprim
buy antibiotics online safely Antibiotics Pharmacology prescription antibiotic
generic antibiotics online pharmacy Azithromycin Dihydrate generic antibiotics online cheap
https://antimicrobialresearch.com/amoxil.html Amoxicillin Trihydrate
[url=https://antimicrobialresearch.com/cipro.html#]Amoxicillin Trihydrate[/url] best online doctor for antibiotics
buy antibiotics online for tooth infection Doxycycline Hyclate prescribed antibiotics online
buy antibiotics for uti OTC antibiotics antibiotics drugs
https://antimicrobialresearch.com/ Azithromycin Dihydrate
https://antimicrobialresearch.com/ Azithromycin Dihydrate
otc uti medicine Institute for Antimicrobial Research generic antibiotics
generic antibiotics Antibiotics Pharmacology over the counter antibiotics pills
https://antimicrobialresearch.com/otc-antibiotics.html Institute for Antimicrobial Research
[url=https://antimicrobialresearch.com/#]Amoxicillin Trihydrate[/url] antibiotics online pharmacy
buy zithromax antibiotic antibiotics generic antibiotics
https://antimicrobialresearch.com/ Institute for Antimicrobial Research
https://antimicrobialresearch.com/amoxil.html antibiotics
[url=https://antimicrobialresearch.com/zithromax.html#]Antibiotics Pharmacology[/url] buy antibiotics online
antibiotics Institute for Antimicrobial Research generic antibiotics
buy zithromax antibiotic Sulfamethoxazole Trimethoprim get antibiotics without seeing a doctor
https://antimicrobialresearch.com/amoxil.html Ciprofloxacin Hydrochloride
buy antibiotics from india Antibiotics Pharmacology generic antibiotics online cheap
best online doctor for antibiotics antibiotics prescribed antibiotics online
https://antimicrobialresearch.com/bactrim.html antibiotics
[url=https://antimicrobialresearch.com/cipro.html#]Amoxicillin Trihydrate[/url] prescription antibiotic
buy antibiotics from india antibiotics cheapest antibiotics
prescribed antibiotics online antibiotics buy antibiotics from india
https://antimicrobialresearch.com/doxycycline.html OTC antibiotics
https://antimicrobialresearch.com/zithromax.html IARP
otc medicine Antibiotics Pharmacology generic antibiotics online pharmacy
[url=https://antimicrobialresearch.com/bactrim.html#]Amoxicillin Trihydrate[/url] can you buy antibiotics over the counter
canadian online pharmacy cialis: top 10 online pharmacy in india – best no prescription pharmacy
https://northcarerx.com/# canadian pharmacy 365
BorderCareRX: BorderCareRX – reputable pharmacies in mexico
canadian mail order pharmacy: canadian 24 hour pharmacy – canadian pharmacy oxycodone
https://bordercarerx.shop/# legit mexican pharmacy without prescription
http://primeindiameds.com/# canadian pharmacy 24
my canadian pharmacy rx: NorthCareRx – canadian pharmacy 24 com
NorthCareRx [url=http://northcarerx.com/#]best rated canadian pharmacy[/url] canadian pharmacy victoza
BorderCare RX: mexican pharmacies no prescription – reliable mexican pharmacies
https://bordercarerx.shop/# legit mexican pharmacy without prescription
canadian pharmacies online: canadian pharmacy online ship to usa – NorthCareRx
canadian pharmacy online reviews: Prime India Meds – southern pharmacy
canadian pharmacy 1 internet online drugstore [url=https://northcarerx.com/#]canadian neighbor pharmacy[/url] NorthCareRx
https://bordercarerx.com/# mexican drug store
canadian pharmacy com: mail order pharmacy india – canadian pharmacy ratings
http://northcarerx.com/# NorthCareRx
mexico pharmacies online: legit mexican pharmacy without prescription – mexican pharmacies no prescription
https://bordercarerx.com/# reputable pharmacies in mexico
mexico pharmacies online [url=https://bordercarerx.com/#]mexico pharmacies online[/url] mexican pharmacies no prescription
NorthCareRx: adderall canadian pharmacy – NorthCareRx
https://bordercarerx.shop/# reliable mexican pharmacies
canadapharmacyonline: Prime India Meds – us online pharmacy
https://primeindiameds.com/# canadian pharmacy world coupon
https://primeindiameds.com/# best canadian pharmacy
BorderCare RX [url=https://bordercarerx.shop/#]legit mexican pharmacy without prescription[/url] mexican pharmacies no prescription
NorthCareRx: NorthCareRx – NorthCareRx
http://primeindiameds.com/# legitimate canadian online pharmacies
canadian pharmacy no rx needed: best online pharmacy india – rate online pharmacies
canada pharmacy reviews [url=https://northcarerx.com/ed-pills.php#]NorthCareRx[/url] NorthCareRx
http://northcarerx.com/# NorthCareRx
https://northcarerx.com/ed-pills.php# NorthCareRx
my canadian pharmacy rx: canadian pharmacy online store – cheap canadian pharmacy online
https://northcarerx.com/otc.php# NorthCareRx
mexican pharmacies: reliable mexican pharmacies – mexico pharmacies online
specialty pharmacy [url=http://primeindiameds.com/#]Prime India Meds[/url] online pharmacy reddit
cyprus online pharmacy: mail order pharmacy india – mexican pharmacy
https://primeindiameds.shop/# pharmacy websites
safe canadian pharmacy: NorthCareRx – NorthCareRx
mexican pharmacies no prescription: mexico prescription online – BorderCare RX
https://northcarerx.com/ed-pills.php# global pharmacy canada
http://primeindiameds.com/# online pharmacy delivery
NorthCareRx [url=https://northcarerx.com/otc.php#]NorthCareRx[/url] canadian pharmacy 365
us pharmacy: best india pharmacy – no rx needed pharmacy
legit mexican pharmacy without prescription: BorderCare RX – BorderCareRX
https://northcarerx.shop/# NorthCareRx
overseas pharmacy no prescription: Prime India Meds – promo code for canadian pharmacy meds
NorthCareRx [url=https://northcarerx.shop/#]cheapest pharmacy canada[/url] canadian pharmacy uk delivery
mexican pharmacies no prescription: reliable mexican pharmacies – mexican pharmacy online
https://northcarerx.com/# canadian pharmacy ed medications
https://primeindiameds.com/# buying drugs from canada
indian pharmacy online: Prime India Meds – canada discount pharmacy
online pharmacy fungal nail: Prime India Meds – canada drugs online review
https://primeindiameds.com/# canadian world pharmacy
NorthCareRx [url=https://northcarerx.com/#]canada pharmacy online legit[/url] reliable canadian pharmacy reviews
mexico pharmacies online: BorderCare RX – BorderCareRX
NorthCareRx: canada drugs online – buy drugs from canada
http://bordercarerx.com/# reputable pharmacies in mexico
reputable pharmacies in mexico: BorderCare RX – order meds from mexico
https://northcarerx.com/otc.php# legal to buy prescription drugs from canada
canada pharmacy online: top online pharmacy india – foreign pharmacy online
canadian pharmacy store [url=http://primeindiameds.com/#]indianpharmacy com[/url] northwestpharmacy
https://bordercarerx.shop/# online mexican pharmacy
NorthCareRx: NorthCareRx – NorthCareRx
buying prescriptions in mexico: mexican pharmacy online – BorderValue RX
https://trustedindiacarerx.com/# indian trail pharmacy
mexican pharmacy online: trusted indian pharmacy usa – canadian online pharmacy cialis
pharmacy online track order: india medication delivery to usa – online pharmacy discount code
http://bordervaluerx.com/# BorderValueRX
https://certifiedmaplerx.com/# canadian medication delivery to usa
pharmacy discount coupons: best india pharmacy – online pharmacy denmark
safe online pharmacies: india medication delivery to usa – mexican pharmacy what to buy
certified canadian pharmacy usa: certified canadian pharmacy usa – CertifiedMaple RX
licensed canadian drug suppliers [url=http://certifiedmaplerx.com/#]canadian medication delivery to usa[/url] licensed canadian drug suppliers
https://bordervaluerx.shop/# BorderValue RX
mexican drugstore shipping to usa: BorderValue RX – BorderValueRX
http://certifiedmaplerx.com/# canadian medication delivery to usa
uk pharmacy: top 10 pharmacies in india – canadian online pharmacy viagra
https://bordervaluerx.shop/# BorderValue RX
top mail order pharmacies [url=http://trustedindiacarerx.com/#]verified india drug manufacturers[/url] online pet pharmacy
my canadian pharmacy review: trusted indian pharmacy usa – canada pharmacy world
mexico border medications usa access: mexico border medications usa access – affordable border pharmacy mexico
http://bordervaluerx.com/# BorderValue RX
canadian medication delivery to usa: CertifiedMaple RX – canadian medication delivery to usa
canadian pharmacy no prescription needed: india medication delivery to usa – canadian pharmacy viagra 100mg
https://bordervaluerx.com/# mexico border medications usa access
http://bordervaluerx.com/# mexican drugstore shipping to usa
BorderValueRX [url=http://bordervaluerx.com/#]BorderValue RX[/url] mexico border medications usa access
certified canadian pharmacy usa: canadian pharmacies – certified canadian pharmacy usa
canadian king pharmacy: india medication delivery to usa – canadian pharmacy generic viagra
https://certifiedmaplerx.com/# online canadian drugstore
certified canadian pharmacy usa: licensed canadian drug suppliers – licensed canadian drug suppliers
canadian medication delivery to usa: certified canadian pharmacy usa – canadian medication delivery to usa
https://trustedindiacarerx.com/# what’s the best online pharmacy
https://certifiedmaplerx.shop/# canadapharmacyonline
canadian pharmacy prices: certified canadian pharmacy usa – CertifiedMaple RX
mexico border medications usa access: BorderValue RX – mexico drug store
http://trustedindiacarerx.com/# canadian online pharmacy cialis
affordable border pharmacy mexico: BorderValueRX – mexico border medications usa access
BorderValue RX: mexican drugstore shipping to usa – BorderValueRX
http://certifiedmaplerx.com/# canada pharmacy
licensed canadian drug suppliers: canadian medication delivery to usa – licensed canadian drug suppliers
certified canadian pharmacy usa: licensed canadian drug suppliers – licensed canadian drug suppliers
http://trustedindiacarerx.com/# canadian discount pharmacy
http://bordervaluerx.com/# mexican drugstore shipping to usa
BorderValue RX: BorderValue RX – affordable border pharmacy mexico
certified canadian pharmacy usa: certified canadian international pharmacy – certified canadian pharmacy usa
http://certifiedmaplerx.com/# CertifiedMaple RX
tops pharmacy: verified india drug manufacturers – online pharmacy meds
http://trustedindiacarerx.com/# northern pharmacy
maple leaf pharmacy in canada: trusted indian pharmacy usa – viagra canadian pharmacy vipps approved
http://certifiedmaplerx.com/# certified canadian pharmacy usa
BorderValueRX: mexican drugstore shipping to usa – BorderValueRX
https://certifiedmaplerx.com/# canadian medication delivery to usa
BorderValue RX: BorderValue RX – BorderValueRX
certified canadian pharmacy usa: licensed canadian drug suppliers – CertifiedMaple RX
https://trustedindiacarerx.shop/# viagra online canadian pharmacy
BorderValue RX: mexican drugstore shipping to usa – mexico border medications usa access
best canadian pharmacy no prescription: trusted indian pharmacy usa – best mail order pharmacy canada
NorthCareRx: NorthCareRx – canada pharmacy online
https://certifiedmaplerx.shop/# licensed canadian drug suppliers
best canadian pharmacy online: TrustedIndiaCare RX – good value pharmacy
which online pharmacy is reliable: TrustedIndiaCare RX – us online pharmacy
antibiotics online pharmacy usa: bacterial infection medication – fast delivery amoxicillin usa
https://ivermectinfast.shop/# ivermectin fast
ivermectin tablets online: ivermectin tablets online – generic ivermectin online pharmacy
prednisone over the counter cost: buy prednisone online usa – prednisone cost 10mg
ivermectin treatment tablets: antiparasitic medication usa – ivermectin treatment tablets
http://amoxilfast.com/# safe antibiotics online source
http://ivermectinfast.com/# ivermectin 1
amoxil without prescription usa: trusted antibiotic pharmacy usa – amoxil without prescription usa
canadian pharmacy amoxicillin: generic amoxicillin online – bacterial infection medication
https://ivermectinfast.com/# ivermectin fast
brand prednisone: prednisone for allergies and asthma – buy prednisone no prescription
amoxil: amoxil – buy amoxil online usa
trusted antibiotic pharmacy usa: trusted antibiotic pharmacy usa – bacterial infection medication
https://amoxilfast.com/# amoxil fast
generic prednisone cost: prednisone without prescription usa – fast shipping prednisone
https://amoxilfast.shop/# amoxicillin generic brand
Stromectol: buy stromectol online usa – ivermectin tablets online
buy prednisone online australia: steroid tablets usa pharmacy – prednisone pharmacy prices
ivermectin treatment tablets: ivermectin fast – trusted ivermectin pharmacy
parasite infection medication: stromectol without prescription usa – ivermectin tablets online
http://ivermectinfast.com/# Stromectol
prednisone canada prescription: corticosteroid medication online – buy prednisone online canada
http://amoxilfast.com/# buy amoxil online usa
prednisone 2.5 mg tab: trusted steroid medication source – prednisone 2.5 mg
antibiotics online pharmacy usa: antibiotics online pharmacy usa – generic amoxicillin online
prednisone 2.5 mg cost: prednisone – prednisone over the counter
https://ivermectinfast.shop/# Stromectol
buy prednisone canadian pharmacy: prednisone without prescription usa – order prednisone
prednisone tablets 2.5 mg: prednisone – prednisone cost in india
ivermectin treatment tablets: ivermectin treatment tablets – stromectol without prescription usa
https://amoxilfast.shop/# amoxil fast
amoxil without prescription usa: buy amoxil online usa – amoxil 500mg tablets usa
https://stericarepharmacy.com/# medicine prednisone 10mg
price for 15 prednisone: buy prednisone online usa – buy prednisone tablets uk
buy prednisone online without a prescription: buy prednisone online usa – medicine prednisone 10mg
buy stromectol online usa: antiparasitic medication usa – ivermectin treatment tablets
https://stericarepharmacy.com/# prednisone in uk
stromectol tablets buy online: buy stromectol online usa – parasite infection medication
prednisone 2 mg: buy prednisone online usa – prednisone brand name india
https://ivermectinfast.shop/# can you buy stromectol over the counter
parasite infection medication: stromectol without prescription usa – trusted ivermectin pharmacy
ivermectin treatment tablets: ivermectin where to buy – ivermectin tablets online
safe antibiotics online source: amoxil – antibiotics online pharmacy usa
buy amoxil online usa: amoxicillin pharmacy price – amoxil 500mg tablets usa
https://stericarepharmacy.com/# prednisone 15 mg daily
prednisone 7.5 mg: SteriCare Pharmacy – prednisone 10mg tabs
https://ivermectinfast.shop/# buy stromectol online usa
can you buy prednisone over the counter in usa: generic prednisone tablets – prednisone 2.5 mg daily
prednisone 5mg capsules: anti-inflammatory medication online – price of prednisone 5mg
http://amoxilfast.com/# bacterial infection medication
prednisone 5 mg: SteriCare Pharmacy – where can you buy prednisone
bacterial infection medication: generic amoxicillin online – amoxil
antiparasitic medication usa: ivermectin oral tablets usa – ivermectin treatment tablets
https://amoxilfast.com/# amoxil
http://stericarepharmacy.com/# prednisone 10mg tablets
bacterial infection medication: trusted antibiotic pharmacy usa – amoxil without prescription usa
stromectol without prescription usa: ivermectin treatment tablets – parasite infection medication
https://stericarepharmacy.com/# prednisone 12 tablets price
antibiotics online pharmacy usa: amoxil – fast delivery amoxicillin usa
https://stericarepharmacy.com/# can i buy prednisone online in uk
generic ivermectin online pharmacy: ivermectin treatment tablets – trusted ivermectin pharmacy
stromectol without prescription usa: ivermectin treatment tablets – stromectol delivery united states
https://amoxilfast.shop/# amoxil 500mg tablets usa
ivermectin tablets online: stromectol delivery united states – ivermectin tablets online
antibiotics online pharmacy usa: fast delivery amoxicillin usa – amoxil fast
generic ivermectin online pharmacy: Stromectol – trusted ivermectin pharmacy
https://stericarepharmacy.com/# 20 mg prednisone
trusted ivermectin pharmacy: ivermectin fast – stromectol without prescription usa
parasite infection medication: stromectol delivery united states – Stromectol
http://ivermectinfast.com/# buy stromectol online usa
buy amoxil online usa: amoxicillin capsules online – safe antibiotics online source
https://stericarepharmacy.com/# online order prednisone
trusted antibiotic pharmacy usa: amoxil 500mg tablets usa – bacterial infection medication
stromectol delivery united states: ivermectin treatment tablets – stromectol delivery united states
https://amoxilfast.com/# amoxicillin capsules online
ivermectin fast: generic ivermectin online pharmacy – buy stromectol online usa
https://amoxilfast.com/# trusted antibiotic pharmacy usa
ivermectin treatment tablets: ivermectin tablets online – trusted ivermectin pharmacy
amoxil: fast delivery amoxicillin usa – amoxil
ivermectin fast: ivermectin tablets online – ivermectin fast
https://ivermectinfast.com/# antiparasitic medication usa
trusted ivermectin pharmacy: ivermectin pills human – generic ivermectin online pharmacy
https://stericarepharmacy.shop/# prednisone 0.5 mg
prednisone without a prescription: prednisone without prescription usa – prednisone price australia
antibiotics online pharmacy usa: buy amoxil online usa – amoxil 500mg tablets usa
https://stericarepharmacy.shop/# prednisone 5mg daily
buy amoxicillin 500mg uk: amoxil fast – trusted antibiotic pharmacy usa
ivermectin fast: generic ivermectin online pharmacy – generic ivermectin online pharmacy
https://stericarepharmacy.shop/# prednisone buying
where can i order prednisone 20mg: corticosteroid medication online – order prednisone 10mg
https://stericarepharmacy.shop/# prednisone 10mg price in india
where to buy amoxicillin 500mg: generic amoxicillin online – fast delivery amoxicillin usa
prednisone 10mg canada: SteriCare Pharmacy – prednisone drug costs
https://ivermectinfast.shop/# ivermectin treatment tablets
ivermectin fast: ivermectin oral tablets usa – ivermectin fast
generic ivermectin online pharmacy: ivermectin tablets online – stromectol without prescription usa
dog prescriptions online: Paw Trust Meds – Paw Trust Meds
canadian 24 hour pharmacy: NorthAccess Rx – thecanadianpharmacy
pharmacy website india: mail order pharmacy india – Global India Pharmacy
Global India Pharmacy: top 10 online pharmacy in india – Global India Pharmacy
canadian pharmacy prices: NorthAccess Rx – maple leaf pharmacy in canada
http://globalindiapharmacy.com/# Global India Pharmacy
Global India Pharmacy: Global India Pharmacy – top 10 online pharmacy in india
canadian drugs: maple leaf pharmacy in canada – canadian pharmacy
dog medicine: Paw Trust Meds – pet meds official website
best pet rx: discount pet meds – Paw Trust Meds
https://northaccessrx.com/antibiotics-guide.html# precription drugs from canada
canadianpharmacymeds: legal to buy prescription drugs from canada – ed drugs online from canada
Global India Pharmacy: online pharmacy india – Global India Pharmacy
canadian pharmacy drugs online: NorthAccess Rx – canada pharmacy online
http://northaccessrx.com/# canadian world pharmacy
indian pharmacy online: Global India Pharmacy – india pharmacy
Paw Trust Meds: Paw Trust Meds – Paw Trust Meds
canadian medications: NorthAccess Rx – canadian king pharmacy
http://globalindiapharmacy.com/# Global India Pharmacy
https://pawtrustmeds.com/# п»їdog medication online
pet pharmacy: Paw Trust Meds – Paw Trust Meds
Paw Trust Meds: Paw Trust Meds – Paw Trust Meds
pet pharmacy online: pet meds for dogs – dog prescriptions online
canadian drug pharmacy: NorthAccess Rx – rate canadian pharmacies
pet pharmacy: Paw Trust Meds – online vet pharmacy
pet med: Paw Trust Meds – Paw Trust Meds
https://northaccessrx.shop/# my canadian pharmacy reviews
ed drugs online from canada: NorthAccess Rx – adderall canadian pharmacy
cheap canadian pharmacy: legit canadian pharmacy – canadian pharmacy no rx needed
pet rx: pet pharmacy – Paw Trust Meds
Paw Trust Meds: pet prescriptions online – pet meds online
Paw Trust Meds: Paw Trust Meds – Paw Trust Meds
canadian online pharmacy: certified canadian international pharmacy – best canadian pharmacy to order from
best mail order pharmacy canada: NorthAccess Rx – best canadian online pharmacy
http://pawtrustmeds.com/# canada pet meds
Global India Pharmacy: top 10 online pharmacy in india – pharmacy website india
online vet pharmacy: dog medicine – pet rx
Global India Pharmacy: top 10 pharmacies in india – indian pharmacy
cheapest online pharmacy india: pharmacy website india – best online pharmacy india
canadapharmacyonline com: NorthAccess Rx – ed meds online canada
india online pharmacy: online pharmacy india – india pharmacy
Global India Pharmacy: Global India Pharmacy – Global India Pharmacy
canadian drug pharmacy: NorthAccess Rx – canadian pharmacy in canada
VeritasCare: Generic Cialis price – cialis for sale
http://veritascarepharm.com/# VeritasCare
canadadrugpharmacy com: online pharmacy price checker – reputable canadian online pharmacy
https://civicmeds.shop/# best canadian pharmacy no prescription
best australian online pharmacy: cheapest pharmacy for prescriptions – low cost online pharmacy
https://corebluehealth.shop/# viagra without prescription
CoreBlue Health: Generic Viagra online – CoreBlue Health
https://corebluehealth.shop/# Order Viagra 50 mg online
http://veritascarepharm.com/# VeritasCare
CoreBlue Health: CoreBlue Health – buy Viagra online
canada rx pharmacy: global pharmacy canada – pharmacy shop
https://veritascarepharm.com/# VeritasCare
VeritasCare: VeritasCare – VeritasCare
CoreBlue Health: over the counter sildenafil – Buy generic 100mg Viagra online
VeritasCare: VeritasCare – VeritasCare
http://veritascarepharm.com/# cialis for sale
VeritasCare: VeritasCare – Cialis over the counter
Tadalafil Tablet: VeritasCare – Cialis without a doctor prescription
CoreBlue Health: CoreBlue Health – Viagra tablet online
cheapest cialis: Cheap Cialis – Cialis 20mg price in USA
п»їcanadian pharmacy online: CivicMeds – pharmacy website
online pharmacy: CivicMeds – canadian pharmacy no scripts
VeritasCare: cheapest cialis – VeritasCare
CoreBlue Health: sildenafil over the counter – viagra without prescription
Cialis over the counter: buy cialis pill – VeritasCare
reputable online pharmacy no prescription: CivicMeds – pharmacy websites
Club player casino review and free chips bonus If you are into playing on the go, Chelsea midfielder Jorginho is statistically one of the best penalty takers in Premier League history. Our roulette live dealer tables draw inspiration from popular variations of the game, so there’s quite a lot for players to choose from. The list below provides a brief description of some of the top roulette games available to play here. Live Blackjack Live Blackjack in the UK – Real Dealer Games, Streaming Quality and What to Look For Live blackjack has become one of the most sought-after casino experiences in the UK because it combines the familiarity of traditional blackjack with the realism of real dealers and physical cards, all delivered through modern streaming technology. Our Android application is designed for smooth performance across a wide range of devices, providing high-definition live streaming and fast betting controls. Players in the United Kingdom can download it directly from our website, guaranteeing secure installation and the latest version of the software. Super Stake Roulette app allows you to access the full range of features including Gold Numbers, Silver Numbers, and the Money Wheel bonus. Notifications can be enabled so you never miss live sessions, promotions, or updates. It is optimised for long sessions, offering efficient use of battery power and data while maintaining clarity of the dealer stream.
http://xchronic.com/how-to-use-1xbet-deposit-bonus-in-the-uk/
Scudamore’s Super Stakes has three main features, namely: Random Wilds, Peter’s Classic Cup and the Bet Slip feature. Turn up the voltage on your Lightning Roulette play with the top tips and strategies for Evolution’s premiere Roulette game. How to play and win real cash in Lightning Roulette. Roulette77.co.uk is an independent online roulette information website providing educational content, tools, and analysis related to roulette and online casinos for players in the United Kingdom. The website is not controlled by any gambling operator and may earn commissions through affiliate partnerships with selected casino websites. These partnerships do not influence our editorial content or evaluations. © 2018–2026 Roulette77.co.uk. All rights reserved. Gameslot has done well to partner with leading software providers and deliver over 1,000 slots and casino games in its lobby, bet365 craps layout australia wager the Bonus 40 times and the deposit 40 times within 5 days. Free spins no deposit required slots new zealand when that happens, you might be interested in my Most Favourable Blackjack Rules page. However, where I explain the rules and their effect on the house edge.
cheap viagra canadian pharmacy: CivicMeds – canada pharmacy not requiring prescription
over the counter sildenafil: CoreBlue Health – CoreBlue Health
VeritasCare: Buy Tadalafil 5mg – VeritasCare
best price for viagra 100mg: Cheap generic Viagra – CoreBlue Health
Buy Tadalafil 10mg: VeritasCare – VeritasCare
reputable overseas online pharmacies: viagra from canadian pharmacy – us pharmacy
Cialis over the counter: VeritasCare – VeritasCare
VeritasCare: VeritasCare – VeritasCare
no prescription needed pharmacy: canada drug pharmacy – cross border pharmacy canada
CoreBlue Health: CoreBlue Health – CoreBlue Health
Cheapest Sildenafil online: CoreBlue Health – CoreBlue Health
Tadalafil price: VeritasCare – VeritasCare
cheap canadian pharmacy online: CivicMeds – canadian pharmacy no prescription
VeritasCare: VeritasCare – Buy Tadalafil 10mg
pin up pin-up online casino
pin up pin-up online casino
pin up pin-up oyunu
https://pinupazz.top/ pin-up online casino
pin up pin up
SteadyMeds pharmacy: canadian pharmacy ed medications – SteadyMeds pharmacy
AccessBridge: the purple pharmacy mexico – AccessBridge Pharmacy
escrow pharmacy canada: canadian 24 hour pharmacy – SteadyMeds
AccessBridge Pharmacy: AccessBridge Pharmacy – AccessBridge
canadian pharmacy ed medications: SteadyMeds – SteadyMeds
SteadyMeds: canadian pharmacy meds reviews – canadian pharmacy price checker
best online pharmacy: cheapest online pharmacy india – best mail order pharmacy
online pharmacies: FormuLine Pharmacy – medstore online pharmacy
The CBD aggregation – [url=https://www.tillmanstranquils.com/collections/thc-mints ]hemp mints[/url] offers a variety of formats that make appropriate different preferences, and each undivided feels well executed. The lubricant appears unsoiled and in conformance, the packaging materials feel durable, and the fashion is uninvolved yet elegant. The products are foolproof to stock and go with, thanks to make fast lids and compressed sizing. Entire, the maker delivers a polished and carefully crafted sample without unnecessary extras.
shop medicine online: reputable indian pharmacies – shop medicine online
canada online pharmacy: canadian pharmacy meds review – canadian online pharmacy
AccessBridge Pharmacy: AccessBridge Pharmacy – mexican pharma
top-rated online pharmacies: п»їlegitimate online pharmacies india – overseas online pharmacy
best online pharmacy no prescription: FormuLine Pharmacy – shop medicine online
overseas online pharmacy: п»їlegitimate online pharmacies india – buy drugs online
AccessBridge Pharmacy: order antibiotics from mexico – online pharmacies
canadian family pharmacy: SteadyMeds – SteadyMeds pharmacy
AccessBridge: AccessBridge Pharmacy – AccessBridge Pharmacy
express scripts mail order pharmacy: world pharmacy india – online pharmacy discount code