Adriana Cacoveanu

Adriana Cacoveanu

ADRIANA CACOVEANU, Content Writer

Adriana is the OPTASY team's digital content creator and copywriter. Her “mission” within our team is to masterfully blend the 2 main ingredients' listed in any valuable blog post's recipe (valuable information + the reader-friendly writing), as well as to craft informative and engaging content promoting our work: study cases on Drupal.org, fresh content for various pages on our company website, e-book content etc.
 

Back to Blog Posts
10 Drupal SEO Mistakes You Do Not Want to Make on Your Website: From Least to Most Harmful- Part 2
You've put so much effort into crafting and polishing the content on your Drupal website and it just won't... rank? Why is it that search engines' web crawlers won't index its “juicy” content? Why they won't give your site a big push right to first-position rankings? As it clearly deserves... Could it be because you're making these 10 Drupal SEO mistakes?  Knowingly or just recklessly... And with the first 5 of them already exposed in the first part of this blog post, I'm keeping my promise and here I am now, with 5 more SEO mistakes that you don't want to make on your Drupal website, ranging from:   embarrassing gaffes to faux pas to catastrophes...   1. Underrating Meta Tags: One of (Too) Common, Yet Costly Drupal SEO Mistakes  And let me just say it: forgetting (or choosing not to) to check those 3 on-page ranking factors:   description page title tags   ... is one rookie SEO mistake.  And one costly neglect, too... Why? Because by simply checking your meta tags, making sure that the content entered there:   contains all the relevant keywords is user-friendly and engaging   you hit 2 birds with just one stone:   search engines' crawlers will just know whether specific web pages on your site are relevant for specific search queries or not; whether the keywords that you will have added to your meta elements are precisely those that online visitors use users will get a “teaser” of what the page is about, helping them decide whether it matches their searches and expectations or not   Note: Drupal's got your back with a dedicated Metatag module that you should install even before you “release your website out into the wild".   2. Ignoring the Slow Page Loading Speed  If it takes more than 2 seconds to load... then you'll lose them. Visitors on your Drupal site will lose all interest in accessing that given page. And could you blame them?  Instead, you'd better:   blame yourself for accepting this status quo and refusing (or just postponing or not putting enough effort into it) to optimize your site for high speed rush to address this major UX issue risking to grow into a critical SEO issue   How? By:   compressing all JS and CSS files using a dedicated tool of your choice (and thank God there are plenty of those to choose from!) compressing all overly large pages reducing images, graphics, and videos to reasonable sizes disabling all those Drupal modules that you haven't used in ages (or maybe never...) enabling caching (and luckily there are Drupal cache modules — like Memcache, for instance — that can help you with that) upgrading your server or even moving to a new hosting company optimizing your site's current theme See? Improving your Drupal site's load time is no rocket science and it doesn't require overly complex measures, either. They're no more than... “common sense” techniques. Assess the resources that implementing them would require and... just do it:   the user experience on your Drupal website will improve significantly search engines will “detect” this increase in user satisfaction … which will translate into a higher ranking    3. Overlooking to Redirect From Its HTTP to Its Secure HTTPs Version Migrating your Drupal site to HTTPS is a must these days. Just face it and deal with it or... be ready to face the consequences! Yet, if you overlook to redirect your site to its new HTTPS version, thus sending its visitors out to... nowhere — to error pages — then... it's all but wasted effort and resources. One of those SEO Drupal mistakes with long-term consequences on your website's ranking.   4. Broken Internal Images Leaving broken internal images and missing ALT attributes behind is a clear sign of SEO sloppiness... And now, here's what we would call a “broken image”:   an image that has an invalid file path an image with a misspelled URL   The result(s)?   first, a broken image has an impact on the overall user experience; your site visitor gets discouraged and quits the page in question next, search engines rate your site's content as “of poor quality” and finally, all these lead to an inevitable drop in Google search rankings   5. Underestimating (or Just Ignoring) the Importance of an XML Sitemap for SEO Not generating an XML sitemap of your Drupal site is more than just one of those Drupal SEO mistakes that you should avoid: it's a missed opportunity! A huge one! Here's why:   an XML sitemap would include all the URLs on your website … as well as information (via heading tags) about your site's infrastructure of web pages, for search engine crawlers to use … “alerts” about which pages they should be indexing first an XML sitemap provides an early index of your website all the pages on your website get submitted to the search engine database even before they get indexed in their own database   Note: the sitemap.xml file not only that communicates with and informs search engines about the current content ecosystem on your Drupal site, but will “keep them posted” on any updates of your site's content, as well. So, what an XML sitemap provides is a prioritized, conveniently detailed and easily crawlable map of your Drupal website meant to ease web crawlers' indexing job. And the easier it gets for them to crawl through your site's content, the faster your site's indexing process will be. In short: if the robots.txt file alerts search engines about those pages that they shouldn't crawl into, the sitemap.xml file lets them know what pages they should index first! Tip: discouraged by the thought of manually building your site's sitemap? Well, why should you, when there are Drupal modules built especially for this?   Site map (Drupal 7)       Sitemap (Drupal 8)         Simple XML (Drupal 8)     XML Sitemap     From taxonomy terms, menu links, nodes, useful entities, to custom links, these modules will automatically generate all the entities that you'd need to include in a detailed sitemap of your Drupal site. The END!  Just face it now: you'll inevitably continue to make gaffes influencing your site's SEO, no matter how many precautions you might take... Yet, these10 Drupal SEO mistakes here, ranked from least to most damaging, are the ones that you should strive to avoid at all costs... ... Read more
Adriana Cacoveanu / Aug 27'2018
10 Drupal SEO Mistakes You Do Not Want to Make on Your Website: From Least to Most Harmful- Part 1
You have made, are currently making and will continue to make various Drupal SEO mistakes. From those easy to overlook gaffes to (truly) dumb neglects, to critical mistakes severely impacting your site's ranking...  Just face it and... fix it!  And what better way of becoming aware of their impact on your site than by... getting them exposed, right? By bringing them into the spotlight... Therefore, here are the 10 SEO mistakes you really don't want to make on your website: the “culprits” for your site's poor ranking. Take note of them, assess their occurrence/risks for your Drupal site's SEO and strive to avoid them:   1. Overlooking or Misusing Header Tags Do it for the crawlers or do it for your site visitors. For whichever reason you decide to structure the content on your web pages using H1, H2, H3 tags, Google will take note of your efforts... And it all comes down to setting up an SEO-valuable hierarchy on each page on your Drupal site. One that:   crawlers will painlessly scan through, which translates your website getting indexed more quickly users will find conveniently “readable”, which bubbles up to the overall user experience   Note: one of the worst SEO gaffes that you could make —  one that would confuse the crawlers and intrigue the site users — would be to use multiple H1 tags on the very same page.  It's one of those silly, yet harmful rookie Drupal SEO mistakes that you don't want to make!   2. Duplicate Content: It's Literally Killing Your SEO Now, speaking of running the risk to confuse the crawlers in your Drupal site, duplicate content makes the "ultimate source of confusion” for search engines. And how does this show on your site's SEO?  Basically, since the crawler can't identify the right page to show for a specific query, it either:   "refuses" to rank any of them or applies specific algorithms to recognize the "suitable" page for that search query   Needless to add that the second decision is discouragingly time-consuming, while the first is simply... disastrous for your site's ranking. "But how did I end up with duplicate content on my website in the first place?" you might ask yourself. Here are 3 of the most common causes:   HTTP vs HTTPS  URL variants WWW and non-www pages   Now, since an identified and acknowledged mistake is already a half-solved one, here's how you can get it fixed:   just set up a 301 redirect from that web page's primary URL to the new one set up a rel=canonical attribute on the old URL, one that would let search engines know that they should handle the new URL as a duplicate of the original one   Note: It goes without saying that all metric records and all the links that search engines will have monitored on these two duplicate pages will then be automatically attributed to the original URL.   3. Optimizing for the Wrong Keywords And this sure is one of the most frequent Drupal SEO mistakes, that goes back to: Not investing enough resources (of time mostly) in a proper keyword research strategy. And no, trying to rank for the prime keywords isn't a foolproof action plan! The result(s)?   you end up targeting all the wrong keywords you optimize your site's content for all the wrong terms, that your target audience isn't actually searching for   Wasted efforts for putting together non-targeted (or not properly targeted) content... Instead, invest time in identifying and then ranking for the right search terms. For yes, it will take longer to carry out a proper keyword process and for your site to start ranking for those keywords. But it won't be wasted time...   4. Having Pages with Duplicate Title Tags on Your Drupal Site Here's another way of confusing crawlers even more: Faced with two separate web pages having the same <title> tags, search engines won't know which one of them stands for a specific search query. And their confusion only risks to lead to your Drupal site's getting banned... Moreover, it's not just search engines that will get discouraged by the duplicate titles, but site visitors, too. They won't know which is the “right” page to access. “OK, but how can I get it fixed?”   you install and turn the Metatag module on you craft and give each page on your Drupal site a unique title    5. Ignoring Robots.txt: One of the Common Drupal SEO Mistakes Now, before answering your otherwise valid question: “Why do I even need Robots.txt file on my Drupal website?” … we'd better see what this protocol brings, right? Take it as a standard that websites use to communicate with crawlers and web robots “in charge” with indexing their content. It's this file that points out what web pages should be crawled and indexed and which ones should be skipped. Now, if it's a blog that you own, ignoring this protocol isn't one of the biggest Drupal SEO mistakes that you could do. But if it's a larger Drupal site, with a heavy infrastructure of web pages, that you're trying to optimize, then having Robots.txt file makes all the difference... Tip: do consider installing the Robots.txt module for streamlining the efforts of making your site “crawling-friendly”. END of Part 1! Stay tuned for I'll be back with 5 more Drupal SEO mistakes — ranking from seemingly harmless to critical — that you definitely don't want to make on your website. ... Read more
Adriana Cacoveanu / Aug 24'2018
Drupal Project Management: Specific Challenges and Approaches
Let me guess: you're a Drupal developer (temporarily) turned into a... Drupal project manager! Or maybe a PM new to Drupal, facing the challenge of your first Drupal project management assignment? Have I guessed it? Now the questions roaming in your head right now must be:   What Drupal project-specific challenges should I expect? How should I address them? How should I approach the Drupal developers, site builders and themers involved? What questions should I ask them at each phase of the project? And which are the stages of a Drupal project management process more precisely? How do I collect accurate and explicit requirements for my Drupal project?   “Spoiler alert”: managing a Drupal project the right way isn't so much about using the right project management modules and “heavy-lifting” tools. It's about:   understanding the specific challenges that Drupal projects pose understanding the specific phases of the process empowering the people in your team to capitalize on their Drupal expertise within the given time frames and according to your client's objectives   Now, here's an insight into the process of managing a Drupal project. One shaped as a list of predictable challenges and their most suitable solutions:   1. Proper Planning: Get The Whole Team Involved In other words: defining objectives and setting up a final time frame with the client without getting your team, too, involved in the process is like: Throwing spaghetti at a wall and hoping that it would just... stick somehow. They're the Drupal experts, you know... Therefore, getting the Drupal developers, themers and site builders engaged at this stage of the project is no more than... common sense. They're the (only) ones able to:   give you an accurate time estimate for developing and implementing each functionality/feature tell if certain of the requested features can't be delivered identify interdependencies and conditions provide you vital information about the Drupal-specific architecture and the project-specific development process … information on what components to take, whether new contrib modules need to be developed to support certain functionalities etc.   Get your Drupal team involved in the planning and preparation process and strike a balance between their valuable input, the client's objectives, and time frames.   2. Tempted to... Micromanage? Empower Your Team Instead Yet, resisting temptation won't be easy. Especially if you're a former Drupal developer now turned into a Drupal project manager. You'd just die to get your hands dirty with code, wouldn't you? To supervise, closely, how every single line of code is being written. Refrain yourself from that... Instead, do keep your focus on the bigger picture! And, moreover, empower each member of your team to... shine. To excel at what he/she's doing.  That instead of obsessing over details, getting everyone on their nerves and making them doubt their own skills: By focusing on each one of the small steering wheels, you'd just lose sight of the larger mechanism that's a Drupal project.   3. To Tell or Not to Tell: Do Encourage Your Team Members to... Tell Hiding the dirt under the carpet, from the stakeholders' eyes/ears and having members of your team remain silent over certain bottlenecks in the project will only act as 2 “Trojan horses”. They'll lead your Drupal project to... failure. Instead:   dare be honest with the client and inform him/her if you run the risk of a delay  encourage your team to be open with you and with their teammates when they hit sudden challenges, unexpected issues   By:   hiding ignoring “genuinely” underrating   ... issues detected in the development process — instead of getting them “exposed” and dealt with —  you're only sabotaging the Drupal project. And now speaking of encouraging good communication within your team, how about creating a dedicated open forum for them to use? This could be the “place” where they'd share any issues that they will have detected in the project. Or challenges that they face and can't address by themselves.   4. Juggling with Resources, Timeline, and Unforeseen Events I'm not going to lie to you about this one: keeping the balance between staying flexible and being capable to assess risks is not going to be easy... Unplanned issues will strike, new requirements will come to “jeopardize” this balance, unexpected changes will need to be accommodated under the same time frame... Should you keep yourself rigid and inflexible to all changes, sticking to the initial plan? Or should you “assimilate” all the incoming requirements and additions to scope with the risk of a project delay? And that of overburdening your team with unscheduled tasks... Can't help you with a universal answer here, one that would apply to all Drupal project management scenarios. It's you, together with your Drupal team, who should be able to estimate:   the changes' level of complexity the project delay (if it's the case) the chances for these additional tweaks to turn into contractual changes   5. Drupal Project Management Is 90% Good Time Management And it all comes down to: Breaking your Drupal project down into small, manageable tasks.  Tasks that can be easily turned into goals and objectives:   daily objectives weekly objectives and so on...   Efficient Drupal project management, even if we're talking about truly complex ones, is all about making it... manageable. About ensuring that the lists of tasks are logically structured and (most of all) time framed! Needless to add that this strategy acts as a motivation-booster for your team:  Just think about it: with every ticked off task, each team member can visualize the project's progress in... real-time. A progress that he/she, too, will have contributed to. The END! These are the Drupal project-specific challenges that any project manager dealing with this CMS faces, accompanied by their life (reputation)-saving solutions.   ... Read more
Adriana Cacoveanu / Aug 21'2018
Bringing Gutenberg to Drupal: A Modern Admin UI, a Better Editing Experience in Drupal 8
It's a robust, flexible and admin feature-packed CMS, there's no point in denying it. And yet: Drupal (still) lacks a modern UI that would make building rich web content —  such as landing pages — a breeze. But there is hope: the Gutenberg editor has been ported over, promising a better editing experience in Drupal 8. The team behind this daring project? Frontkom, a Norwegian digital services agency that:   refused to just sit and wait (for a year or two) for the in-progress initiative of modernizing Drupal's admin UI to grow into a core solution decided to capitalize on their experience in working with the Gutenberg page builder  … and on this content editor's open source nature, too … to bring it over to Drupal 8   Now, if you're determined to improve the editorial UX on your Drupal site, to “spoil” your editors with a modern, intuitive and flexible admin UI, keep on reading...   1. The Drupal Gutenberg Project: Aiming for a Modern Admin UI in Drupal 8 And by “modern” I do mean the opposite of the Panels & Paragraphs & Layout combo solutions currently available for editing text in Drupal. Solutions that only manage to make the entire workflow... discouragingly complex. Especially if it's rich web content that editors need to create via the Drupal admin UI. And this is precisely the context where the Drupal Gutenberg project was born: Drupal desperately needed/needs a modern, JavaScript-based admin UI. With WordPress 5 users already enjoying this fancy content editor and the Frontkom team's having gained experience in using it, the idea of porting it to Drupal started to form: "Why wouldn't we make it possible for Drupal users, too, to benefit from this content editor?"  And here are some of the original Gutenberg project's features that lead them into thinking that, once ported, the editor would significantly improve the editing experience in Drupal 8:   it's (highly) decoupled it's open-source it's React.js-based  it provides a simplified, smooth and cool functionality-packed admin UI it's Medium and Squarespace's inspired it turns the creation of complex landing pages into a breeze   Page editing in Drupal 8 wasn't going to be the same again! Their initiative turned into a Drupal 8 module —  Gutenberg Editor —  currently still an experimental one.  Curious enough? The first step to satisfy your curiosity is to take a look at their live demo: an interactive glimpse into the Gutenberg text editor implemented in Drupal 8.   2. The New Gutenberg for Drupal: Top Features Improving the Editing Experience in Drupal 8   2.1. All the Page Elements Are... Content Blocks That's right, the team behind this project capitalized on the “everything is a block” Drupal 8 concept when adapting the Gutenberg UI to Drupal. The result? Both the Drupal core blocks and 20+ Gutenberg blocks are available in the resulting admin UI. Basically, a Drupal 8 editor can insert into the web page that he/she's creating any of the core Drupal blocks and of the Gutenberg blocks of choice. Speaking of which, let me point out just a few:   Heading Image gallery Auto embedded social posts Buttons Custom Drupal blocks Layout blocks   Needless to add that you're free to enrich this list with your own custom blocks, too.   2.2. Easy Switch from Visual to Code Editor That's right, the Gutenberg UI enables you/your editors to quickly switch to code editor —  opening up a neat markup —  and to apply any needed tweaks on the output.   2.3. Positioning Content Is Straightforwardly Intuitive Editors get to select precisely where they want to position different types of content on a page. And the very same results that they generate while in the Gutenberg admin UI get instantly reflected on the live web page, as well. And there's more! More great admin features improving editing experience in Drupal. For instance: Full control over font sizes and colors; tweaking them becomes a breeze with the new editor.   2.4. There's a Blocks Search Box And not only that:   using this search box you can track down precisely those content blocks that you need to add to your page but you can access them inline, as well, using “/”.   2.5. Full Control of the Layout Another great thing about the content blocks available in the Gutenberg UI is that: they can have child blocks, too! This way, it'll get unexpectedly easy for your editors to split their used blocks into columns on a grid.   2.6. Auto Embedded Social Posts/Videos And all it takes is pasting their URL.   The Story of a Real Challenge: Making Gutenberg CMS-Agnostic Open source, but not fully CMS-agnostic...  The team behind the Drupal Gutenberg project had to come up with a suitable solution for this challenge. And they did come up with a multi-step solution to make the fancy text editor work in Drupal 8, as well:   first, they created a fork and removed the WordPress specific features they used the Gutenberg editor as a dependency  next, they set up a standalone NPM package then they built the Gutenberg Editor module   In short: a fork of the initial Gutenberg project is still maintained while being used as a dependency of the new Drupal 8 module. Therefore, each time Gutenberg gets an update, the corresponding Drupal module, too, gets a new release. Now, digging deeper into the project's architectural design, we discover 2 elements that the team had to re-write for Drupal:   the URL defining the editor routes (edit page route, new page route, preview page route) the API-request, now configured to “talk to” Drupal (instead of the WordPress API)   How does the new module work?   as a text editor, which can be easily enabled for each content type all it takes is a long text field for it to work: it replaces the node edit UI for that specific content type   Note: the Frontkom team also “promises” us to re-use many of the Drupal-specific stylings for the editor's UI elements in order to add a familiar Drupal feeling to it.   What Next? What's The Project Roadmap Ok, so what we know for sure now, regarding this ambitious initiative turned into a Drupal module is that:   the Drupal Gutenberg module is downloadable, yet still experimental (for developer use only) the team's still working on the project, implementing new features and functionalities aimed at making it feel more... Drupal native the final version will be presented to the eager/intrigued/curious/skeptical Drupal users and developers in the coming months   The END! Can't hide that I'm more than curious what you think about this contrib solution for improving the editing experience in Drupal 8:   Are you looking forward to using it, hoping that this editor would make up for the inconvenience of working with Drupal's current admin UI? Are you skeptical about the perspective of being tied up to a WordPress page builder?   ... Read more
Adriana Cacoveanu / Aug 17'2018
7 Common Mistakes in Interpreting Analytics Data: Statistical Pitfalls for Your UX Team to Avoid
All sorts of highly likely confusions, data taken out of its context, “obsessing over” numbers, approaching analytics with no clear goals in mind, metrics subjected to your own biases... We're all prone to making mistakes when analyzing data. Still, as a UX team striving to pull off an accurate picture of the user behavior, you need to take note of the most common mistakes in interpreting analytics data (UX analytics).  … of the biggest "gaffes" in reading data. Those responsible for all the wrong assumptions about your users that you'll end up making:   that low numbers are always a bad sign that if results show a correlation, there is definitely a causal relationship, as well   ... and so on. Now, allow me to “expose” to you the 7 most common mistakes that one can make when interpreting statistics:   1. Visits and Views: Confusing Them and Obsessing Over Them Using these two notions interchangeably is a pitfall that not only rookie data analysts fall into: With different UX analytics tools using different terminology for the very same concept and (even) confusing terminology used within the same tool, no wonder that you end up taking views for visits and vice versa. And still: make sure you fully understand the terminology, otherwise you risk to:   report on the wrong data put together some dangerously inaccurate reports   This is, no wonder, one of the most common data interpretation errors. Now, let's define views and visits and present them as two different concepts once and for all:   a view (or “pageview”) refers to a view of a page on your website tracked by the analytics tracking code a visit (or “session”) refers to a user's whole of interactions taken on your site, within a specific time frame   And now, speaking of views and visits, another one of the too common mistakes in interpreting analytics data is: Obsessing over views and visits! As a UX designer though, you may want to leave the challenge of increasing visits and page views to the marketing people in your team to handle. And, instead, to focus your efforts on that data that 's relevant to the user experience.   2. Settling for a Birdseye View Instead of Digging Deeper into Data Scratching the surface of the available data:   a quick assessment of the data at hand rapidly going over the “headline”  figures   … will only tell you something about your website's current performance in terms of traffic, but won't give you any clue on how to improve UX. How to increase the conversion rate. In other words: visits are no more than metrics signaling you how many visitors landed on your site during a given period of time, but this metrics won't reveal anything about how they actually engaged with those visited pages. See? Analyzing data as broadly as considering sessions to be the key indicator of performance and UX is another one of those common pitfalls in interpreting statistics: By far the best method of reading analytics data, as a UX-er, is to approach it with some well-defined goals in mind. This way, you'd focus your efforts on specific metrics, relevant for understanding user behavior, instead of getting yourself “drown” in a sea of data.   3. Common Mistakes in Interpreting Analytics Data: Not Looking Beyond Numbers … and not putting them in their contexts. For that's the proper way to interpret them. Otherwise, you're just... analyzing quantitative data stating the obvious: The “what” and not the “why”. This is undoubtedly one of the most common mistakes in interpreting analytics data: falling under the “spell” of numbers! Instead, you'll need to keep in mind that:   it's real users that those collected numbers represent once taken out of their contexts, numbers lack their true value they become truly valuable only when interpreted in connection with the user experience:   What do they tell you about the overall user experience on your website? This is why you should always apply qualitative methods when analyzing quantitative data. User research methods that enable you to go from “what has happened” to: “Why is it that visitors behaved that way on my website?”   4. Always Taking Low Numbers for a Bad Sign Another one of those more than common mistakes in data analysis is: Always thinking that low or a drop in numbers is a bad thing. Context is everything here! Just think of reading data analytics as a three-phase process:   what you want to see in those numbers what the available data seems like what it really means   Let me give you one good example: Less time spent on a web page could be good or bad. If we're talking about your redesigned homepage, it could very well mean that users do find its new design more intuitively efficient. That they can get to the pages on your site that they're interested in far more easily. In other words: do put those drops in numbers against their contexts before you alert everyone in your team that the site's going down the hill!   5. Overlooking to Segment Users For you surely agree that every given visitor uses your website differently:    on desktop  on mobile at different times of the day    And that multiple users interact differently with your site. Need I say more? Don't overlook these valuable considerations on your users' behavior when interpreting your quantitative data. Before you rush to make all the wrong assumptions reading your analytics data, make sure you break those figures down into multiple relevant segments:   mobile users desktop users users from different countries users falling into different age groups and so on   It's user base segmentation that turn quantitative data into... relevant data. And which, most importantly: Provide you with priceless clues regarding the areas on your site that you should be focusing your UX efforts on. Let's just say that your site has a conversion rate of 7%. Before you get overexcited about it, make sure you break that figure down. You might just discover that 9% comes from your desktop users and only 1% from your mobile users. And there you have it, there's your clue! Now you know just where to focus your UX efforts.   6. Not Setting Clear Goals Before Approaching Your Analytics And, as already stated, this could get you “tangled up” in a huge amount of data. But, if you take some time to define your goals first things first, you'll know just what you'll want to achieve from your data analysis session. And to:   direct your UX efforts towards those specific objectives focus exclusively on those metrics relevant for interpreting user behavior   If you don't know where you're heading, how can you know just how to get there; how to improve UX on your website?   7. Settling for a One-Size-Fits-All Reporting Setup Another one of those common mistakes in interpreting analytics data is sticking to a standard reporting setup. That instead of trying to custom-tune it so that it should deliver you precisely the data you need. The one relevant for your own website. Since each site works differently, you can't expect a one-size-fits-all approach to data analytics to perfectly suit them all, in the slightest details, now can you?   So, You've Analyzed Your Data: Now What? For reading your analytics data is just the first step. Now it's time you:   get some actionable takeaways from your analyzed data get to action   Are there usability tests that you need to run to figure out why the conversion rate is higher on your desktop site than on its mobile version? Or maybe you need to implement some user research methods to identify those contexts where users visit your site from their mobile devices? Time to put together your “data-fueled battle plan”! ... Read more
Adriana Cacoveanu / Jul 12'2018
These Are the 15 Best Drupal Security Modules Worth Installing on Your Website
I'm a woman of my word, as you can see: here I am now, as promised in my previous post on the most effective ways to secure a Drupal website, ready to run a “magnifying glass” over the best Drupal security modules. To pinpoint their main characteristics and most powerful features and thus to reveal why they've made it to this list. And why you should put them at the top of your own Drupal security checklist. So, shall we dig in?   1.  Login Security   It's only but predictable that since the login page/form is the entry to your Drupal site, it is also the most vulnerable page there, as well. Therefore, secure it! In this respect, what this module enables site admins to do is : define a certain number of login attempts; too many invalid authentication attempts will automatically block that account block/limit access for specific IPs   Moreover, you get notified by email or via Nagios notifications when someone is just username/password guessing or using other kinds of brute force techniques to log into your Drupal site. In short: the Login Security module, through its variety of options that it “spoils” you with, empowers you to set up a custom login policy on your site. To define your own restrictions and exceptions. 2. Drupal Core Update Module     As already mentioned here, on this blog, when we've tackled the topic of Drupal security: Keeping your Drupal core updated is that easily underrated, yet most powerful security measure that you could implement! Now what this module here does is assisting you in keeping your Drupal codebase up to date: safely patched and having all the crucial upgrades. And I don't need to remind you the security risk(s) that all those site owners ignoring the latest patches to Drupal core expose their websites to, right?    3. Captcha   Captcha is one of the best Drupal security modules since it's one of the most used ones. And no wonder: could you imagine submission forms on your website with no Captcha? The age-old system is one of the handiest ways to keep spammers and spambots away. So, having this module “plugged in”, providing you with the needed captcha support, becomes wisely convenient.   4. Password Policy   The module enables you, as your Drupal site's admin, to define specific rules for “wannabe users” to follow when they set up their account passwords. From constraints related to:   special symbols that those passwords should include, to ramp up both the given account's and your own site's security to uppercase letters to numbers...   … once you plug in this Drupal security module in, it's you who gets to set up the policy for creating account passwords.   5. Security Review, One of the Best Drupal Security Modules The Security Review module is that “Swiss knife” that you need for hardening your site's shield. Meaning that it's an all-in-one tool. One that comes with its own Drupal security checklist that it regularly goes through and sets against your website, detecting any missing or improperly implemented security measures. Moreover, it automates a whole series of tests for tracking down any signs of exploits and brute-force attacks:   arbitrary PHP execution XSS exploits SQL injection suspicious PHP or JavaScript activity in content nodes   Once it identifies the vulnerabilities, it “alerts” you and gives you the best recommendations for mitigating those security risks. All you need to do is follow the suggestions.   6. Security Kit Another module that “empowers” you to take full control over the security strategy on your Drupal site. To set up specific options for minimizing the chances of exploitable “cracks” showing up in its security shield: For instance, it could recommend you to set up HTTP headers on your Drupal site.   7. Session Limit     Here's another one of those best Drupal security modules that's also one of the widely used ones. Why is it a must-have on your own Drupal site? Because it enables you to set a limit to the number of simultaneous sessions per user, per role. This way, you trim down the chances of suspicious activity being carried out on your site and eventually leading to brute-force attacks.   8. Automated Logout       Another module that's a must on your Drupal site: It basically enables you, the site admin, to define a policy that would log out users after a specified time period of inactivity.    9. Two Factor Authentication     LinkedIn, Google, Twitter, Instagram, Facebook are just some of the big names that have adopted this user authentication method for security reasons. So, why shouldn't you, too? Especially when you have a dedicated module at hand, Two Factor Authentication, to:   provide you with various methods to select from: pre-generated codes, time-based one-time PINS or passwords, codes sent via SMS etc. give you full freedom in defining that two-factor authentication strategy that suits your site best   The principle is as simple for the user, as it is effective for your website, from a security standpoint: The user gets a security code that he/she'll then need to use for logging into your Drupal site.   10. Coder   A command-line tool, with IDE support, that gives your codebase a deep scan and detects any drift from the coding standards and best practices. Why has it made it to this exclusive list of 15 best Drupal security modules? Cause vulnerabilities might be lurking right in your Drupal code, not necessarily in your users' weak passwords or unpatched core modules. Having a tool at hand that would identify and notify you of all those weak links in your code, where the best practices aren't being followed, is just... convenience at its best.   11. SpamSpan     Another key module to add to your Drupal security checklist.  For you do agree that email addresses are some of hackers' easiest ways to infiltrate into your website, don't you?  Now what this module here does is obfuscate email addresses so that spambots can't collect them. Note: a key strength of SpamSpan is that it uses JavaScript for this process, which enhances accessibility.   12. ACL       “A set of APIs” This is how we could define this module here, which doesn't come with its own UI. Its key role? To enable other Drupal modules on your website to set up a list of users that would get selective access to specific nodes on your site.   13. Paranoia       Why is Paranoia one of the best Drupal security modules? Because it will end your “paranoia” — as its name suggests — that an ill-intentioned user might evaluate arbitrary code on your site. The module practically identifies all those vulnerable areas where a potential attacker could exploit your site's code and blocks them.   14. Content Access         Limiting or blocking access to key content types on your site is no more than a common-sense security measure to take, don't you agree? Therefore, this module here's designed to assist you throughout this process:   as you define detailed permissions on your site: to view/edit/ delete specific content types … by user role and by author    Word of caution: do keep in mind that, since Content Access uses Drupal's node API, you shouldn't enable other modules using the same endpoints on your website!   15. Google Apps Authentication         A module that ramps up not just your site's security, but also its accessibility. Just think about it: Nowadays anyone has at least one Google account. Therefore, “anyone” can easily log into your website using his/her own Google account credentials. Once, of course, you will have installed and turned this Drupal module on. END of list! These are the 15 best Drupal security modules worth installing on your site.  Scan them through, weigh their key features, set them against your site's specific security needs and make your selection! ... Read more
Adriana Cacoveanu / Jul 04'2018
OPTASY Is a Gold-Level Sponsor of Drupal North Regional Summit 2018: Moving Drupal Forward!
Save the date(s): 10-12 August! And join us for a 3-day conference on building with Drupal, driving this open-source technology forward and strengthening & growing the community behind it: Drupal North Regional Summit 2018.  You'll find us in our booth at the Toronto Reference Library's exhibit hall, to be more specific, since this year OPTASY's a proud gold sponsor of the fourth edition of this event:  The biggest annual summit in Canada focused on promoting Drupal.    Why Would You Attend Drupal North Regional Summit 2018? That's right: why would you pack your bags and get en route for Toronto's Reference Library when summer is at its peak and everyone's looking for a place in the sun? For a bunch of strong reasons, actually:   first of all, if you're already living in Canada, why would you want to miss the biggest annual event in North America promoting Drupal? no less than 300+ individuals and organizations will be attending it if you're a Drupal developer, this is a once-in-a-year opportunity to grow and to... outgrow yourself; the event's schedule is “overcrowded” with sessions covering a variety of Drupal-related topics, with “can't miss” keynote sessions and networking opportunities … grow your profile by sharing your knowledge and expertise all while enriching it as you learn from other Drupalists attending the event as a Drupal-powered organization, Drupal North Regional Summit 2018 is a great chance to recruit new talent (and this is the event's key “mandate”: to showcase Canadian Drupal talent), to make connections with other Drupal-fueled businesses...   Whether you're:   in the government, nonprofit, education, business field a freelancing Drupal enthusiast looking to keep his/her knowledge up to date … don't miss the largest summit in Canada promoting Drupal!   It'll be a win-win-win type of situation:   you (the Drupal developer) get to keep your knowledge up to date you (the organization) get to dig through a pool of Drupal talent and also to network with other key decision-makers from some of the most notorious companies in Canada running their businesses on Drupal and it's a winning situation for Drupal itself: all the individuals and companies attending the summit will help to extend its reach to more people and more businesses    OPTASY Proudly Supports Drupal and the Drupal North Regional Summit 2018 Why? What's in it for us? Why are we so proud to be one of the gold sponsors of this Drupal summit in Canada? Because we like to practice what we preach: To give back to the (Drupal) community, what the community gave to us for free. And along these +15 years years since we've been developing in Drupal there's been plenty of work done by all those developers contributing to Drupal and moving this open-source technology forward that we leveraged in our own projects. It's only but common sense to give something back now and to contribute ourselves, too. And sponsoring Drupal events is one way that we can do that. But there are other reasons, too, why we decided to support the Drupal North Regional Summit 2018 as a gold sponsor. All of them deriving from the above-presented reasoning:   the 3-day conference makes the perfect “lab” where brilliant solutions to well-known issues in Drupal get identified and shared with the community, new Drupal modules get put into the spotlight, new ways of innovating this technology get presented in other words: investing in this Drupal summit we invest in us, as a team and as a company, and implicitly in our own clients, as well ... all the knowledge and “steamy-fresh information” that we get from this conference will then be put to use when working on our clients' future projects it's also a great place to network with existing and potentially new Drupal-using companies and an opportunity for us to “expose” the key advantages that set OPTASY apart as a Drupal agency: +15 years hands-on experience, proven Drupal expertise, pure passion for what we do, a strong work ethic and stellar communication skills confirmed by our clients   So, are you curious about Drupal's main strengths as a technology of the future? Interested to discover what precisely helps it stand out? Are you looking for a Drupal partner with both the proven experience and the proper “weakness” for innovation to turn your ideas into digital reality? Stop by our booth then, in August, and let's talk Drupal, growth opportunities and everything in between! ... Read more
Adriana Cacoveanu / Jul 02'2018
What Are Some Quick and Easy Ways to Secure Drupal? 7-Step Security Checklist
You have patched your Drupal website, haven't you? If so, then that critical 3-month-old security flaw, Drupalgeddon2, can't get exploited on your site. Even so, with the menace of a cryptocurrency mining attack still lurking around the unpatched websites, you legitimately ask yourself: what are some quick and easy ways to secure Drupal? “Which are the most basic steps to take and the simplest best practices to adopt to harden my Drupal site's security myself?” Now, using keywords such as “security measures”, “quick”, “easy” and “handy”, I've come up with a list of 7 basic steps that any Drupal site owner can (and should) take for locking down his/her website. Here they are, in no particular order:   1. Keep Your Drupal Core and Modules Updated  Not only is this one of the simplest ways to secure Drupal, but one of the most effective ones, as well. Even so more now, with the Drupalgeddon2 Drupal security threat still fresh in our memory, ignoring the regularly released security updates for both Drupal core and its modules is just plain recklessness or... self-sabotage. Keep your Drupal version updated: apply security patches as soon as they get released, avoiding to leave your site exposed and exploitable. As simple as that! And where do you add that this is one of those Drupal security best practices that's the easiest to integrate into your routine. Since to run the latest updates you only need to:   sign in to your Admin panel go to “Manage”  scroll down to “Reports” → “Available Reports” click on “Check manually” if there are any critical security updates that you're advised to run, just click “Update”   This is all it takes for you to: seal any security loopholes in your Drupal core prevent any identified vulnerability from growing into a conveniently easy to access backdoor for hackers to get in   2. Install Drupal Security Modules  Strengthening the shield around your Drupal site with some powerful Drupal security modules is another both handy and effective measure that you, yourself, can easily implement. Luckily, you're definitely not out of options when it comes to good security modules in Drupal. And I'm only going to run a short module inventory here, since I'm already preparing a blog post focused precisely on this topic. Therefore, I promise to delve deep into details about each one of the here-listed modules in my next post:   Secure Login   The Security Review (Drupal 7 only)     Paranoia    Captcha     Two-factor Authentication    Content Access         Security Kit     Password Policy       Automated Logout     Password Strength     Downloading, installing security modules on your Drupal site is both:   quick and simple to do highly effective    And they serve a wide range of purposes, from:   enforcing strong password policies to monitoring DNS changes to locking down your site from security threats to blocking malicious networks to turning on a firewall on your site   As for their selection, it depends greatly on your list of priorities when it comes to improving your site's security. Take some time to weigh and to compare their features.   3. Remove Unused Modules: One of the Easiest Ways to Secure Drupal  Being the “easiest” security measure to implement doesn't make it also “the most popular” among Drupal site owners. Owners who more often than not:   underrate the importance of running a regular module usage audit on their sites ignore the Drupal security threat that an outdated piece of code (or an unused module) could turn itself into, once exploited by an attacker   So, don't be one of those site owners! Are there modules on your site that you no longer use?  That have grown outdated and that are just... lingering there, using your site's resources and risking to grow into an exploitable backdoor for hackers? Identify them and remove them! It won't take more than just a few priceless minutes of your time.   4. Enforce a Strong Password Policy Since it's not just the admin (you do have a smart username and password for logging into your admin dashboard, don't you?) that will log into your Drupal site, but users, too, implementing some strong user-side security measures is a must. In this respect, creating a strong password policy — one that would enforce the creation of complex, “hard-nut-to-crack” type of login credentials — is one the best and the easiest ways to secure Drupal on the user's side. Come up with a policy that defines specific requirements for setting up passwords of high enough entropy (letters, uppercase/lowercase, symbols, different characters combos). And don't hesitate to rely on dedicated Drupal modules for enforcing those requirements defined in your policy:   Password Strength   Secure Login    5. Block Access to All Your Sensitive Files I bet you don't want important folders, core files — upgrade.php., install.php, authorize.php, cron.php —  to be easily accessible to just... anyone, right? So, how about limiting or blocking access to them? And you can easily do that by configuring your .htaccess file —  it's the one containing details of crucial importance regarding your website access and credentials to specific parts and core files on your site: Just specify the IP addresses allowed to access those core folders, files and subdomains. Here's one “enlightening” example: <FilesMatch "(authorize|cron|install|upgrade)\.php"> Order deny, allow deny from all Allow from 127.0.0.1 </FilesMatch> Note! Now speaking of limiting access, don't limit your restrictions to your core folders and files. Remember to restrict/block access to your web server, to your server login details, as well. How? By adding a basic layer of authentication limiting server access and file access usage. Also, do remember to cautiously manage access to certain port numbers that your site/app might be using.   6. Back Up, Back Up, then... Back Up Some More  You can't anticipate brute-force attacks, but you sure can “land back on your feet” if the worst scenario ever happens. And you can only do that if you have a clean and recent backup at hand to just rollback and restore your website. In other words: back up regularly!  And remember to always back up your files and MySQL database before any update that you run on your Drupal code and modules. It is one of those common sense Drupal security best practices that should be included in any basic security checklist! Where do you add that you even have a dedicated Drupal module —  Backup and Migrate — to assist you with this process. Some of the back up “burdens” that this module will take off your shoulders are:   backing up/restoring code and multiple MySQL databases integrating Drush  backing up files directory setting up several backup schedules AES encryption for backups 7. Review All User Roles and Grant the Minimum Permissions Necessary How many user roles are there assigned on your Drupal site? If you don't quite know the answer, then it's obvious: You must give your entire user role system an audit! And to stick to this habit, one of the simplest ways to secure Drupal, after all. Review all the user roles and, most of all, review each one's set of permissions and make sure you trim them down to the minimum necessary for each role.  This way, you'll also limit access to critical files for those users that shouldn't have the permission to download or visualize them. And speaking of permission, do keep in mind to review all your file permissions, as well! See which user roles are granted permission to access key directories or to read, write or modify certain files on your website and block/restrict access where necessary. The END! Of course, this isn't even close to a complete list of ways to secure Drupal. If it had been an exhaustive one, it would have continued with more Drupal security best practices, such as:   getting the SSL Certificate securing HTTP headers using secure connections only   Etc. etc. I've only focused on some of the easiest and quickest measures that anyone, with little, close to no technical know-how at all, can implement. And I feel like stressing out the term “practice” here: Securing your Drupal site is a constant process; a series of persistent efforts and not a one time thing. Remain vigillant and cautious and don't rely on just a one-time, multifaceted security hardening “marathon”.   ... Read more
Adriana Cacoveanu / Jun 28'2018
How to Fix a Hacked WordPress Site: A Step-by-Step Guide on Identifying and Removing Malware
“Mysterious” pop-ups that you did not initiate, inexplicable auto-linking keywords, frequent freezing of your website... These are all but clear signs that your WordPress site has been hacked! Now what? Where should you look for the “infection”? Here's a step-by-step guide on how to fix a hacked WordPress site. And it goes without saying that the very first step to take is to: Keep calm! Next, you'll need to figure out how precisely that malicious individual has found his/her way into your site. What security vulnerability has he detected and exploited? Once you've determined how your WordPress website's got hacked, figuring out how to remove the malware is already a half-solved problem. So, let's dig in before this hypothetical infection has spread out throughout your entire website:   Step 1: Identify the Hacked Files (and Change Your Password) Remember what we've already agreed upon, that the very first step to take is precisely not to panic? So, while keeping your cool, start your “investigations” by asking yourself 3 key questions  — this, of course, after you've already asked yourself “How to remove malware from my WordPress site?”:   Are you able to access your admin panel? Is your site already marked as insecure (by Google)? Is your site redirecting automatically to another website once you log yourself in?   At this point, I also strongly recommend that you changed your password, as well. And this before you jump to the next step of your investigation. Note: remember to change it again after you've cleaned up your website, as well.   1.1. Give Your Site a Thorough Scan Using a Security Tool/Plugin And I do think that it never gets redundant for me to stress out: Turning on a powerful WordPress security plugin on your website is one of the best shields that you could activate around it. In case of an emergency situation, like this one here, you'd simply enable it to scan your site remotely and track down malware locations and malicious payloads and, most of all: A good security plugin would identify and alert you, in real-time, of all the changes made to your website. Note: everyone knows it, yet most website owners stubbornly ignore the importance of keeping their loads of WordPress themes and plugins updated regularly. They just overlook the fact that out-of-date files are by far hackers' “top favorite” security vulnerabilities.    1.2. Check Whether Your Core Files Have Been Compromised And since they're by far the most valuable files on your site, it's only normal to check their integrity first things first:   wp-includes root folders wp-admin   Most of these core files should never ever be modified. And there are 2 ways of checking them:   you either use the diff command in your terminal or you check them manually, via SFTP   If they're unchanged and therefore clean, move on to the next step of this “how to fix a hacked WordPress site” guide:   1.3. Check the Integrity of the Recently Modified Files It may also be that precisely the recently modified files on your WordPress site are the “corrupted” ones. To know for sure, identify the files that have been recently modified. And again, you have 2 options at hand for this type of “investigation”:   the manual check running the right commands in your Linux terminal   For manually identifying these newly changed files that might have been hacked just go through these steps here:   log into your server (use the SSH terminal or an FTP client) if it's SSH that you're using, then it's this command that will automatically list all the files that got modified the last 15 days: $ find ./ -type f -mtime -15 if it's SFTP that you're using, just scan through the last modified date column for all files on your server … detect any files that recent changes have been made to   Now for tracking down these possibly “infected” recently modified files using the terminal, just follow these 2 simple steps:   run this command in your terminal: $ find /etc -type f -printf '%TY-%Tm-%Td %TT %p\n' | sort -r  next, if you want to identify the directory files, enter this command: $ find /etc -printf '%TY-%Tm-%Td %TT %p\n' | sort -r    Are there any unexplainable changes made to those files in the last 7-30 days?   1.4. Check the Diagnostic Pages  A conveniently handy way to remove a virus from your WordPress website is to “track it down” using Google's or another website security authority's tool to give your site a deep scan with. Has yours already been blacklisted by one of these authorities? Then simply run the Google Transparency Report:   go to Safe Browsing Site Status website enter your website's URL there check both the Site Safety Details and the Testing Details sections    It's a quick and easy way to collect valuable information about any suspicious downloads, redirects, and spams on your site, as well as priceless data about Google's recent scan that ended in malware being detected. Note: another way of identifying malware that's within your reach is by using a free webmaster tool — Google Webmasters Central, Norton SafeWeb, Bing Webmaster Tools etc.   Step 2: How to Fix a Hacked WordPress Site: Removing the Detected Malware After all your preliminary investigations, you should put together your battle plan for actually removing the identified hack from your WordPress site. And for restoring it to its pre-hack clean state, too, obviously. For this, here are the most effective measures at hand for you to apply:   2.1. Is a Clean Backup Available? Use It to Compare Pre-Hack to Post-Hack Files Is there any need for me to stress out that: You should back up your website on a daily basis! And the very situation that you're in now is by far one of the strongest reasons to do that: “How to fix a hacked WordPress site” will get reduced to: “simply comparing a clean backup to the current hacked version of your site!" Identify the files that have been modified and get them removed. It goes without saying that you risk losing some of your files —  those added/updated after the last backup — but you do want a clean website now, don't you? 2.2. Remove the Identified Infected Files from Your Website Once you've restored your WordPress backup, you can easily remove any suspicious plugin, theme or other types of file. Note: do handle core files with utmost caution, though! Mind you don't accidentally overwrite your wp-content folder or your wp-config.php file. When it comes to infected custom files, you could replace them with a clean recent backup or with fresh new copies. “But how do I remove “malicious” code manually?” you might ask yourself. Let me go briefly through all the key steps required:   log into your server (via SSH or SFTP) back up your website track down the recently modified files replace any suspicious files with copies from the WordPress repository use a text editor for opening up any custom files there and remove any suspicious code that you'll detect  test your newly cleaned up website   Word of caution: manually removing a malware infection from your WordPress site does call for special safety measures. Never remove corrupted code without first backing everything up!   2.3. Remove All Malware Infections from Your Database Tables, as Well  Now, you do agree that a “how to fix a hacked WordPress site” tutorial couldn't possibly skip the step where database tables get cleaned up of any malware infection. Here's how you do it:   connect to your database using your database admin panel create a backup of your database give it a deep scan looking for any suspicious content  if detected, open the table containing that specific link or spammy keywords manually remove that infected piece of content give your website a “post database clean up” test remove any tools that you might have used specifically for this operation —  Adminer or maybe Search-Replace-DB   2.4. Check All The User Permissions: Look for New, Unfamiliar User Accounts My advice to you, when it comes to user accounts, to user roles and permissions on your WordPress site is to: Keep just one single admin user and stick to the essential user roles (and granted permissions): author editor contributor  etc.   This is one of the most effective prevention measures that you could take so you don't end up asking yourself “How to clean up a hacked WordPress site?” Now, coming back to our investigation here, here's how you remove all the unfamiliar WordPress user accounts from your website:   first, back up both your site and your database log into your admin panel and click the “Users” tab track down any unfamiliar new user accounts there, hover over them and delete them   Note: another wise thing to do is to re-check each user's roles and permissions. If you feel like updating them, simply use the users' role editor plugin.   2.5. Detect and “Close” all the Backdoors And you want to treat this aspect with maximum seriousness. Otherwise, following each and every step indicated to you in this “how to fix a hacked WordPress site” tutorial becomes... pointless. For the attackers would always have this “secret passage” to infiltrate themselves into your website over and over again. “But what are backdoors more precisely?” you might ask yourself. They're files similar to your site's core files — wp-config.php and key directories such as /uploads, /themes, /plugins —  yet strategically placed in the wrong directories.  Here are some PHP functions that you could recognize them by:   str_rot13 assert base64 move_uploaded_file eval system stripslashes gzuncompress   Word of caution: keep in mind that there are plugins on your WordPress website that could be legitimately be using these PHP functions; therefore, make sure you test all those "apparently suspicious changes" before rushing to remove the so-called "malicious" functions. Otherwise, by removing benign functions, you might just break your website.   2.6. Request a Review of Your Site, to Have all Malware Warnings Removed Now, once you've repaired all the damage caused on your Wordpress site, it's only but logical to... let the blacklisting authorities know that your site's clean now. For this, you can just request a review of your recovered website.   2.7. Change Your WordPress Salt Keys  The very last step to take in this “How to fix a hacked WordPress site” process is to change the security keys from your wp-config.php file: This way, even if a potential attacker stole your password, he would get automatically auto-logged out once you've changed your WordPress salt keys. Next, you can just change your password, as well as the ones of other users on your site.   Or, Just Cut All These Steps Down to a Single One: Preventive Maintenance Which means adopting a WordPress maintenance and support plan tailored just for you and your specific security feature needs. This way, not only that you'd save the time (and spare your nerves) that you'd otherwise invest in carrying out all the steps included in a tedious “how to fix a hacked WordPress site” process, but: From running regular updates to on-going maintenance of your website's core components to regular security audits, you wouldn't need to... move a single finger. Our WordPress maintenance and support team would handle it for you. “Prevention is better than cure” is so much more than just a saying... ... Read more
Adriana Cacoveanu / Jun 19'2018